Skip to main content

Web Accessibility WCAG 2026: Complete Compliance Guide

mubaidr
Wednesday, February 18, 2026
AccessibilityWCAGA11yWeb StandardsInclusive Design
Web Accessibility WCAG 2026 - Accessibility symbols and inclusive design icons on blue gradient

Web Accessibility WCAG 2026: Complete Compliance Guide

Web accessibility isn't optional—it's essential. In 2026, WCAG 2.2 guidelines are the standard, and compliance is both a legal requirement and a moral imperative. This comprehensive guide covers everything developers need to know about implementing accessibility in modern web applications.

Understanding WCAG 2.2

The Four Principles (POUR)

  1. Perceivable: Information must be presentable to users in ways they can perceive
  2. Operable: User interface components must be operable
  3. Understandable: Information and operation must be understandable
  4. Robust: Content must be robust enough to be interpreted by assistive technologies

Conformance Levels

  • Level A: Minimum accessibility (must have)
  • Level AA: Standard compliance (should have)
  • Level AAA: Enhanced accessibility (nice to have)

Essential Accessibility Features

1. Semantic HTML

<!-- ❌ Bad: Non-semantic divs -->
<div class="nav">
  <div class="link" @click="navigate">Home</div>
</div>

<!-- ✅ Good: Semantic HTML -->
<nav>
  <ul>
    <li>
      <NuxtLink to="/">Home</NuxtLink>
    </li>
  </ul>
</nav>

2. Keyboard Navigation

<script setup lang="ts">
const handleKeyDown = (event: KeyboardEvent) => {
  if (event.key === "Enter" || event.key === " ") {
    event.preventDefault()
    // Handle action
  }
}
</script>

<template>
  <!-- Keyboard accessible button -->
  <button @click="handleClick" @keydown="handleKeyDown" :tabindex="0">
    Click Me
  </button>
</template>

3. Focus Management

<script setup lang="ts">
const focusFirstError = () => {
  const firstError = document.querySelector("[data-error]")
  if (firstError) {
    firstError.focus()
  }
}

// Trap focus in modals
const useFocusTrap = (element: Ref<HTMLElement | null>) => {
  const focusableElements = element.value?.querySelectorAll(
    'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',
  )

  const firstElement = focusableElements?.[0]
  const lastElement = focusableElements?.[focusableElements.length - 1]

  element.value?.addEventListener("keydown", (e) => {
    if (
      e.key === "Tab" &&
      e.shiftKey &&
      document.activeElement === firstElement
    ) {
      e.preventDefault()
      lastElement?.focus()
    }
  })
}
</script>

Implementing ARIA Attributes

1. ARIA Labels

<template>
  <!-- Label for icon buttons -->
  <button aria-label="Close modal">
    <Icon name="close" />
  </button>

  <!-- Label for form inputs -->
  <input type="text" aria-label="Search" aria-describedby="search-help" />
  <p id="search-help">Enter keywords to search</p>
</template>

2. Live Regions

<template>
  <!-- Announce dynamic content -->
  <div role="status" aria-live="polite" aria-atomic="true">
    {{ notification }}
  </div>

  <!-- Assertive for urgent updates -->
  <div role="alert" aria-live="assertive">
    {{ errorMessage }}
  </div>
</template>

3. Complex Widgets

<script setup lang="ts">
const tabs = ref([
  { id: "tab1", label: "Tab 1", active: true },
  { id: "tab2", label: "Tab 2", active: false },
])

const selectTab = (index: number) => {
  tabs.value.forEach((tab, i) => {
    tab.active = i === index
  })
}
</script>

<template>
  <div role="tablist">
    <button
      v-for="(tab, index) in tabs"
      :key="tab.id"
      role="tab"
      :aria-selected="tab.active"
      :aria-controls="`panel-${index}`"
      :id="`tab-${index}`"
      @click="selectTab(index)"
    >
      {{ tab.label }}
    </button>
  </div>

  <div
    v-for="(tab, index) in tabs"
    :key="tab.id"
    role="tabpanel"
    :id="`panel-${index}`"
    :aria-labelledby="`tab-${index}`"
    v-show="tab.active"
  >
    <slot :name="`panel-${index}`" />
  </div>
</template>

Color and Contrast

1. Minimum Contrast Ratios

/* WCAG 2.2 Requirements */
.text-normal {
  color: #1a1a1a; /* 4.5:1 minimum on white */
}

.text-large {
  color: #595959; /* 3:1 minimum for large text (18pt+) */
}

.ui-components {
  border-color: #767676; /* 3:1 minimum */
}

2. Don't Rely on Color Alone

<!-- ❌ Bad: Color only -->
<span class="text-red">Error</span>

<!-- ✅ Good: Color + icon + text -->
<span class="flex items-center gap-2">
  <Icon name="error" />
  <span>Error: Invalid input</span>
</span>

3. Dark Mode Accessibility

/* Ensure contrast in both modes */
:root {
  --text-primary: #1a1a1a;
  --background: #ffffff;
}

.dark {
  --text-primary: #f5f5f5;
  --background: #1a1a1a;
}

/* Test contrast ratios */
.text {
  color: var(--text-primary);
  background: var(--background);
  /* Ensure 4.5:1 ratio */
}

Form Accessibility

1. Labels and Error Messages

<template>
  <form>
    <div class="form-group">
      <label for="email">
        Email Address
        <span class="required" aria-hidden="true">*</span>
      </label>

      <input
        id="email"
        type="email"
        required
        aria-required="true"
        aria-invalid="false"
        aria-describedby="email-error"
      />

      <p id="email-error" role="alert" class="error-message">
        Please enter a valid email
      </p>
    </div>
  </form>
</template>

2. Fieldsets and Legends

<template>
  <fieldset>
    <legend>Shipping Address</legend>

    <div>
      <label for="street">Street</label>
      <input id="street" type="text" />
    </div>

    <div>
      <label for="city">City</label>
      <input id="city" type="text" />
    </div>
  </fieldset>
</template>

Media Accessibility

1. Images

<template>
  <!-- Decorative image -->
  <img src="decoration.png" alt="" role="presentation" />

  <!-- Informative image -->
  <img
    src="chart.png"
    alt="Bar chart showing sales increase of 25% in Q4 2025"
  />

  <!-- Complex image with description -->
  <figure>
    <img src="infographic.png" alt="See infographic description below" />
    <figcaption>
      <p class="sr-only">Detailed description of the infographic content...</p>
    </figcaption>
  </figure>
</template>

2. Video and Audio

<template>
  <video controls>
    <source src="video.mp4" type="video/mp4" />
    <track kind="captions" src="captions.vtt" srclang="en" label="English" />
    <track kind="descriptions" src="descriptions.vtt" srclang="en" />
  </video>
</template>

Testing Accessibility

1. Automated Testing

// vitest.config.ts
import { defineVitestConfig } from "@nuxt/test-utils/config"

export default defineVitestConfig({
  test: {
    setupFiles: ["./test/setup.ts"],
  },
})

// test/accessibility.test.ts
import { axe, toHaveNoViolations } from "jest-axe"
import { mount } from "@vue/test-utils"
import MyComponent from "@/components/MyComponent.vue"

expect.extend(toHaveNoViolations)

test("should not have accessibility violations", async () => {
  const wrapper = mount(MyComponent)
  const results = await axe(wrapper.element)
  expect(results).toHaveNoViolations()
})

2. Manual Testing Checklist

// Test scenarios
const accessibilityTests = [
  "Navigate using keyboard only",
  "Test with screen reader (NVDA, JAWS, VoiceOver)",
  "Check color contrast",
  "Verify focus indicators",
  "Test zoom to 200%",
  "Validate with WAVE tool",
  "Test with browser accessibility tools",
]

3. CI/CD Integration

# .github/workflows/accessibility.yml
name: Accessibility Testing

on: [push]

jobs:
  a11y:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Install dependencies
        run: npm ci

      - name: Run accessibility tests
        run: npm run test:a11y

      - name: Lighthouse CI
        run: npx @lhci/cli@latest autorun

Common Accessibility Mistakes

<!-- ✅ Add skip to main content link -->
<a href="#main" class="skip-link">
  Skip to main content
</a>

<main id="main">
  <!-- Main content -->
</main>

2. Improper Heading Structure

<!-- ❌ Bad: Skipped heading levels -->
<h1>Main Title</h1>
<h3>Subsection</h3>

<!-- ✅ Good: Sequential headings -->
<h1>Main Title</h1>
<h2>Section</h2>
<h3>Subsection</h3>

3. Auto-playing Media

<!-- ❌ Bad: Auto-playing video -->
<video autoplay />

<!-- ✅ Good: User-controlled -->
<video controls />

Accessibility Tools

1. Browser Extensions

  • WAVE: Web accessibility evaluation
  • axe DevTools: Automated testing
  • Lighthouse: Performance and accessibility
  • Color Contrast Analyzer: Check contrast ratios

2. Screen Readers

  • NVDA (Windows, free)
  • JAWS (Windows, paid)
  • VoiceOver (macOS/iOS, free)
  • TalkBack (Android, free)

3. Testing Tools

# Automated testing
npm install -g @axe-core/cli
axe-cli http://localhost:3000

# Color contrast
npm install -g color-contrast-checker

# Accessibility linting
npm install -g eslint-plugin-jsx-a11y

1. Compliance Standards

  • ADA (Americans with Disabilities Act)
  • Section 508 (US Federal)
  • EN 301 549 (European Union)
  • AODA (Ontario, Canada)

2. Documentation

## Accessibility Statement

We are committed to ensuring digital accessibility.
We conform to WCAG 2.2 Level AA standards.

### Contact

If you experience barriers, contact us:

- Email: accessibility@example.com
- Phone: +1-555-123-4567

Conclusion

Web accessibility is not just about compliance—it's about creating inclusive experiences for everyone. By implementing WCAG 2.2 guidelines, you ensure your applications are usable by people with disabilities while improving overall usability.

Start with semantic HTML, keyboard navigation, and proper ARIA attributes. Then expand to comprehensive testing and continuous monitoring. Remember: accessibility is an ongoing commitment, not a one-time fix.


Ready to improve accessibility? Run an automated audit with axe or Lighthouse, then fix the top 3 issues. Every improvement matters.

Full-stack engineer leading teams to build scalable systems & tools, with solid DevOps expertise.

Muhammad Ubaid R.

\n\n\n",[184,312,313,337,370,419,433,438,443,448,456,460,469,474,520,525,535],{"__ignoreMap":182},[187,314,315,317,320,323,326,328,330,333,335],{"class":189,"line":190},[187,316,201],{"class":200},[187,318,319],{"class":204},"script",[187,321,322],{"class":208}," setup",[187,324,325],{"class":208}," lang",[187,327,212],{"class":200},[187,329,215],{"class":200},[187,331,332],{"class":218},"ts",[187,334,215],{"class":200},[187,336,224],{"class":200},[187,338,339,342,345,347,350,354,357,361,364,367],{"class":189,"line":197},[187,340,341],{"class":208},"const",[187,343,344],{"class":229}," handleKeyDown ",[187,346,212],{"class":200},[187,348,349],{"class":200}," (",[187,351,353],{"class":352},"sHdIc","event",[187,355,356],{"class":200},":",[187,358,360],{"class":359},"sBMFI"," KeyboardEvent",[187,362,363],{"class":200},")",[187,365,366],{"class":208}," =>",[187,368,369],{"class":200}," {\n",[187,371,372,376,378,380,383,386,389,392,395,397,400,403,405,407,409,411,413,416],{"class":189,"line":16},[187,373,375],{"class":374},"s7zQu"," if",[187,377,349],{"class":204},[187,379,353],{"class":229},[187,381,382],{"class":200},".",[187,384,385],{"class":229},"key",[187,387,388],{"class":200}," ===",[187,390,391],{"class":200}," \"",[187,393,394],{"class":218},"Enter",[187,396,215],{"class":200},[187,398,399],{"class":200}," ||",[187,401,402],{"class":229}," event",[187,404,382],{"class":200},[187,406,385],{"class":229},[187,408,388],{"class":200},[187,410,391],{"class":200},[187,412,391],{"class":200},[187,414,415],{"class":204},") ",[187,417,418],{"class":200},"{\n",[187,420,421,424,426,430],{"class":189,"line":240},[187,422,423],{"class":229}," event",[187,425,382],{"class":200},[187,427,429],{"class":428},"s2Zo4","preventDefault",[187,431,432],{"class":204},"()\n",[187,434,435],{"class":189,"line":252},[187,436,437],{"class":193}," // Handle action\n",[187,439,440],{"class":189,"line":259},[187,441,442],{"class":200}," }\n",[187,444,445],{"class":189,"line":265},[187,446,447],{"class":200},"}\n",[187,449,450,452,454],{"class":189,"line":271},[187,451,233],{"class":200},[187,453,319],{"class":204},[187,455,224],{"class":200},[187,457,458],{"class":189,"line":277},[187,459,256],{"emptyLinePlaceholder":255},[187,461,462,464,467],{"class":189,"line":283},[187,463,201],{"class":200},[187,465,466],{"class":204},"template",[187,468,224],{"class":200},[187,470,471],{"class":189,"line":289},[187,472,473],{"class":193}," \n",[187,475,476,479,482,485,487,489,492,494,497,499,501,504,506,509,511,513,516,518],{"class":189,"line":295},[187,477,478],{"class":200}," <",[187,480,481],{"class":204},"button",[187,483,484],{"class":208}," @click",[187,486,212],{"class":200},[187,488,215],{"class":200},[187,490,491],{"class":218},"handleClick",[187,493,215],{"class":200},[187,495,496],{"class":208}," @keydown",[187,498,212],{"class":200},[187,500,215],{"class":200},[187,502,503],{"class":218},"handleKeyDown",[187,505,215],{"class":200},[187,507,508],{"class":208}," :tabindex",[187,510,212],{"class":200},[187,512,215],{"class":200},[187,514,515],{"class":218},"0",[187,517,215],{"class":200},[187,519,224],{"class":200},[187,521,522],{"class":189,"line":29},[187,523,524],{"class":229}," Click Me\n",[187,526,528,531,533],{"class":189,"line":527},14,[187,529,530],{"class":200}," \nconst focusFirstError = () => {\n const firstError = document.querySelector(\"[data-error]\")\n if (firstError) {\n firstError.focus()\n }\n}\n\n// Trap focus in modals\nconst useFocusTrap = (element: Ref) => {\n const focusableElements = element.value?.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n )\n\n const firstElement = focusableElements?.[0]\n const lastElement = focusableElements?.[focusableElements.length - 1]\n\n element.value?.addEventListener(\"keydown\", (e) => {\n if (\n e.key === \"Tab\" &&\n e.shiftKey &&\n document.activeElement === firstElement\n ) {\n e.preventDefault()\n lastElement?.focus()\n }\n })\n}\n\n",[184,552,553,573,589,621,634,646,650,654,658,663,700,726,740,745,749,771,803,808,846,855,877,889,905,913,924,936,942,950,955],{"__ignoreMap":182},[187,554,555,557,559,561,563,565,567,569,571],{"class":189,"line":190},[187,556,201],{"class":200},[187,558,319],{"class":204},[187,560,322],{"class":208},[187,562,325],{"class":208},[187,564,212],{"class":200},[187,566,215],{"class":200},[187,568,332],{"class":218},[187,570,215],{"class":200},[187,572,224],{"class":200},[187,574,575,577,580,582,585,587],{"class":189,"line":197},[187,576,341],{"class":208},[187,578,579],{"class":229}," focusFirstError ",[187,581,212],{"class":200},[187,583,584],{"class":200}," ()",[187,586,366],{"class":208},[187,588,369],{"class":200},[187,590,591,594,597,600,603,605,608,611,613,616,618],{"class":189,"line":16},[187,592,593],{"class":208}," const",[187,595,596],{"class":229}," firstError",[187,598,599],{"class":200}," =",[187,601,602],{"class":229}," document",[187,604,382],{"class":200},[187,606,607],{"class":428},"querySelector",[187,609,610],{"class":204},"(",[187,612,215],{"class":200},[187,614,615],{"class":218},"[data-error]",[187,617,215],{"class":200},[187,619,620],{"class":204},")\n",[187,622,623,625,627,630,632],{"class":189,"line":240},[187,624,375],{"class":374},[187,626,349],{"class":204},[187,628,629],{"class":229},"firstError",[187,631,415],{"class":204},[187,633,418],{"class":200},[187,635,636,639,641,644],{"class":189,"line":252},[187,637,638],{"class":229}," firstError",[187,640,382],{"class":200},[187,642,643],{"class":428},"focus",[187,645,432],{"class":204},[187,647,648],{"class":189,"line":259},[187,649,442],{"class":200},[187,651,652],{"class":189,"line":265},[187,653,447],{"class":200},[187,655,656],{"class":189,"line":271},[187,657,256],{"emptyLinePlaceholder":255},[187,659,660],{"class":189,"line":277},[187,661,662],{"class":193},"// Trap focus in modals\n",[187,664,665,667,670,672,674,677,679,682,684,687,690,693,696,698],{"class":189,"line":283},[187,666,341],{"class":208},[187,668,669],{"class":229}," useFocusTrap ",[187,671,212],{"class":200},[187,673,349],{"class":200},[187,675,676],{"class":352},"element",[187,678,356],{"class":200},[187,680,681],{"class":359}," Ref",[187,683,201],{"class":200},[187,685,686],{"class":359},"HTMLElement",[187,688,689],{"class":200}," |",[187,691,692],{"class":359}," null",[187,694,695],{"class":200},">)",[187,697,366],{"class":208},[187,699,369],{"class":200},[187,701,702,704,707,709,712,714,717,720,723],{"class":189,"line":289},[187,703,593],{"class":208},[187,705,706],{"class":229}," focusableElements",[187,708,599],{"class":200},[187,710,711],{"class":229}," element",[187,713,382],{"class":200},[187,715,716],{"class":229},"value",[187,718,719],{"class":200},"?.",[187,721,722],{"class":428},"querySelectorAll",[187,724,725],{"class":204},"(\n",[187,727,728,731,734,737],{"class":189,"line":295},[187,729,730],{"class":200}," '",[187,732,733],{"class":218},"button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])",[187,735,736],{"class":200},"'",[187,738,739],{"class":200},",\n",[187,741,742],{"class":189,"line":29},[187,743,744],{"class":204}," )\n",[187,746,747],{"class":189,"line":527},[187,748,256],{"emptyLinePlaceholder":255},[187,750,751,753,756,758,760,762,765,768],{"class":189,"line":537},[187,752,593],{"class":208},[187,754,755],{"class":229}," firstElement",[187,757,599],{"class":200},[187,759,706],{"class":229},[187,761,719],{"class":200},[187,763,764],{"class":204},"[",[187,766,515],{"class":767},"sbssI",[187,769,770],{"class":204},"]\n",[187,772,774,776,779,781,783,785,787,790,792,795,798,801],{"class":189,"line":773},16,[187,775,593],{"class":208},[187,777,778],{"class":229}," lastElement",[187,780,599],{"class":200},[187,782,706],{"class":229},[187,784,719],{"class":200},[187,786,764],{"class":204},[187,788,789],{"class":229},"focusableElements",[187,791,382],{"class":200},[187,793,794],{"class":229},"length",[187,796,797],{"class":200}," -",[187,799,800],{"class":767}," 1",[187,802,770],{"class":204},[187,804,806],{"class":189,"line":805},17,[187,807,256],{"emptyLinePlaceholder":255},[187,809,811,814,816,818,820,823,825,827,830,832,835,837,840,842,844],{"class":189,"line":810},18,[187,812,813],{"class":229}," element",[187,815,382],{"class":200},[187,817,716],{"class":229},[187,819,719],{"class":200},[187,821,822],{"class":428},"addEventListener",[187,824,610],{"class":204},[187,826,215],{"class":200},[187,828,829],{"class":218},"keydown",[187,831,215],{"class":200},[187,833,834],{"class":200},",",[187,836,349],{"class":200},[187,838,839],{"class":352},"e",[187,841,363],{"class":200},[187,843,366],{"class":208},[187,845,369],{"class":200},[187,847,849,852],{"class":189,"line":848},19,[187,850,851],{"class":374}," if",[187,853,854],{"class":204}," (\n",[187,856,858,861,863,865,867,869,872,874],{"class":189,"line":857},20,[187,859,860],{"class":229}," e",[187,862,382],{"class":200},[187,864,385],{"class":229},[187,866,388],{"class":200},[187,868,391],{"class":200},[187,870,871],{"class":218},"Tab",[187,873,215],{"class":200},[187,875,876],{"class":200}," &&\n",[187,878,880,882,884,887],{"class":189,"line":879},21,[187,881,860],{"class":229},[187,883,382],{"class":200},[187,885,886],{"class":229},"shiftKey",[187,888,876],{"class":200},[187,890,892,895,897,900,902],{"class":189,"line":891},22,[187,893,894],{"class":229}," document",[187,896,382],{"class":200},[187,898,899],{"class":229},"activeElement",[187,901,388],{"class":200},[187,903,904],{"class":229}," firstElement\n",[187,906,908,911],{"class":189,"line":907},23,[187,909,910],{"class":204}," ) ",[187,912,418],{"class":200},[187,914,916,918,920,922],{"class":189,"line":915},24,[187,917,860],{"class":229},[187,919,382],{"class":200},[187,921,429],{"class":428},[187,923,432],{"class":204},[187,925,927,930,932,934],{"class":189,"line":926},25,[187,928,929],{"class":229}," lastElement",[187,931,719],{"class":200},[187,933,643],{"class":428},[187,935,432],{"class":204},[187,937,939],{"class":189,"line":938},26,[187,940,941],{"class":200}," }\n",[187,943,945,948],{"class":189,"line":944},27,[187,946,947],{"class":200}," }",[187,949,620],{"class":204},[187,951,953],{"class":189,"line":952},28,[187,954,447],{"class":200},[187,956,958,960,962],{"class":189,"line":957},29,[187,959,233],{"class":200},[187,961,319],{"class":204},[187,963,224],{"class":200},[98,965,967],{"id":966},"implementing-aria-attributes","Implementing ARIA Attributes",[110,969,971],{"id":970},"_1-aria-labels","1. ARIA Labels",[177,973,975],{"className":179,"code":974,"language":181,"meta":182,"style":182},"\n",[184,976,977,985,990,1010,1033,1041,1045,1050,1094,1123],{"__ignoreMap":182},[187,978,979,981,983],{"class":189,"line":190},[187,980,201],{"class":200},[187,982,466],{"class":204},[187,984,224],{"class":200},[187,986,987],{"class":189,"line":197},[187,988,989],{"class":193}," \n",[187,991,992,994,996,999,1001,1003,1006,1008],{"class":189,"line":16},[187,993,478],{"class":200},[187,995,481],{"class":204},[187,997,998],{"class":208}," aria-label",[187,1000,212],{"class":200},[187,1002,215],{"class":200},[187,1004,1005],{"class":218},"Close modal",[187,1007,215],{"class":200},[187,1009,224],{"class":200},[187,1011,1012,1015,1018,1021,1023,1025,1028,1030],{"class":189,"line":240},[187,1013,1014],{"class":200}," <",[187,1016,1017],{"class":204},"Icon",[187,1019,1020],{"class":208}," name",[187,1022,212],{"class":200},[187,1024,215],{"class":200},[187,1026,1027],{"class":218},"close",[187,1029,215],{"class":200},[187,1031,1032],{"class":200}," />\n",[187,1034,1035,1037,1039],{"class":189,"line":252},[187,1036,530],{"class":200},[187,1038,481],{"class":204},[187,1040,224],{"class":200},[187,1042,1043],{"class":189,"line":259},[187,1044,256],{"emptyLinePlaceholder":255},[187,1046,1047],{"class":189,"line":265},[187,1048,1049],{"class":193}," \n",[187,1051,1052,1054,1057,1060,1062,1064,1067,1069,1071,1073,1075,1078,1080,1083,1085,1087,1090,1092],{"class":189,"line":271},[187,1053,478],{"class":200},[187,1055,1056],{"class":204},"input",[187,1058,1059],{"class":208}," type",[187,1061,212],{"class":200},[187,1063,215],{"class":200},[187,1065,1066],{"class":218},"text",[187,1068,215],{"class":200},[187,1070,998],{"class":208},[187,1072,212],{"class":200},[187,1074,215],{"class":200},[187,1076,1077],{"class":218},"Search",[187,1079,215],{"class":200},[187,1081,1082],{"class":208}," aria-describedby",[187,1084,212],{"class":200},[187,1086,215],{"class":200},[187,1088,1089],{"class":218},"search-help",[187,1091,215],{"class":200},[187,1093,1032],{"class":200},[187,1095,1096,1098,1100,1103,1105,1107,1109,1111,1114,1117,1119,1121],{"class":189,"line":277},[187,1097,478],{"class":200},[187,1099,102],{"class":204},[187,1101,1102],{"class":208}," id",[187,1104,212],{"class":200},[187,1106,215],{"class":200},[187,1108,1089],{"class":218},[187,1110,215],{"class":200},[187,1112,1113],{"class":200},">",[187,1115,1116],{"class":229},"Enter keywords to search",[187,1118,233],{"class":200},[187,1120,102],{"class":204},[187,1122,224],{"class":200},[187,1124,1125,1127,1129],{"class":189,"line":283},[187,1126,233],{"class":200},[187,1128,466],{"class":204},[187,1130,224],{"class":200},[110,1132,1134],{"id":1133},"_2-live-regions","2. Live Regions",[177,1136,1138],{"className":179,"code":1137,"language":181,"meta":182,"style":182},"\n",[184,1139,1140,1148,1153,1197,1202,1210,1214,1219,1249,1254,1262],{"__ignoreMap":182},[187,1141,1142,1144,1146],{"class":189,"line":190},[187,1143,201],{"class":200},[187,1145,466],{"class":204},[187,1147,224],{"class":200},[187,1149,1150],{"class":189,"line":197},[187,1151,1152],{"class":193}," \n",[187,1154,1155,1157,1159,1162,1164,1166,1169,1171,1174,1176,1178,1181,1183,1186,1188,1190,1193,1195],{"class":189,"line":16},[187,1156,478],{"class":200},[187,1158,205],{"class":204},[187,1160,1161],{"class":208}," role",[187,1163,212],{"class":200},[187,1165,215],{"class":200},[187,1167,1168],{"class":218},"status",[187,1170,215],{"class":200},[187,1172,1173],{"class":208}," aria-live",[187,1175,212],{"class":200},[187,1177,215],{"class":200},[187,1179,1180],{"class":218},"polite",[187,1182,215],{"class":200},[187,1184,1185],{"class":208}," aria-atomic",[187,1187,212],{"class":200},[187,1189,215],{"class":200},[187,1191,1192],{"class":218},"true",[187,1194,215],{"class":200},[187,1196,224],{"class":200},[187,1198,1199],{"class":189,"line":240},[187,1200,1201],{"class":229}," {{ notification }}\n",[187,1203,1204,1206,1208],{"class":189,"line":252},[187,1205,530],{"class":200},[187,1207,205],{"class":204},[187,1209,224],{"class":200},[187,1211,1212],{"class":189,"line":259},[187,1213,256],{"emptyLinePlaceholder":255},[187,1215,1216],{"class":189,"line":265},[187,1217,1218],{"class":193}," \n",[187,1220,1221,1223,1225,1227,1229,1231,1234,1236,1238,1240,1242,1245,1247],{"class":189,"line":271},[187,1222,478],{"class":200},[187,1224,205],{"class":204},[187,1226,1161],{"class":208},[187,1228,212],{"class":200},[187,1230,215],{"class":200},[187,1232,1233],{"class":218},"alert",[187,1235,215],{"class":200},[187,1237,1173],{"class":208},[187,1239,212],{"class":200},[187,1241,215],{"class":200},[187,1243,1244],{"class":218},"assertive",[187,1246,215],{"class":200},[187,1248,224],{"class":200},[187,1250,1251],{"class":189,"line":277},[187,1252,1253],{"class":229}," {{ errorMessage }}\n",[187,1255,1256,1258,1260],{"class":189,"line":283},[187,1257,530],{"class":200},[187,1259,205],{"class":204},[187,1261,224],{"class":200},[187,1263,1264,1266,1268],{"class":189,"line":289},[187,1265,233],{"class":200},[187,1267,466],{"class":204},[187,1269,224],{"class":200},[110,1271,1273],{"id":1272},"_3-complex-widgets","3. Complex Widgets",[177,1275,1277],{"className":179,"code":1276,"language":181,"meta":182,"style":182},"\n\n\n",[184,1278,1279,1299,1314,1358,1397,1402,1406,1431,1463,1482,1488,1492,1500,1504,1512,1531,1538,1553,1567,1580,1594,1608,1622,1636,1641,1646,1655,1663,1667,1674,1688,1702,1717,1731,1745,1759,1765,1786,1795],{"__ignoreMap":182},[187,1280,1281,1283,1285,1287,1289,1291,1293,1295,1297],{"class":189,"line":190},[187,1282,201],{"class":200},[187,1284,319],{"class":204},[187,1286,322],{"class":208},[187,1288,325],{"class":208},[187,1290,212],{"class":200},[187,1292,215],{"class":200},[187,1294,332],{"class":218},[187,1296,215],{"class":200},[187,1298,224],{"class":200},[187,1300,1301,1303,1306,1308,1311],{"class":189,"line":197},[187,1302,341],{"class":208},[187,1304,1305],{"class":229}," tabs ",[187,1307,212],{"class":200},[187,1309,1310],{"class":428}," ref",[187,1312,1313],{"class":229},"([\n",[187,1315,1316,1319,1321,1323,1325,1328,1330,1332,1335,1337,1339,1342,1344,1346,1349,1351,1355],{"class":189,"line":16},[187,1317,1318],{"class":200}," {",[187,1320,1102],{"class":204},[187,1322,356],{"class":200},[187,1324,391],{"class":200},[187,1326,1327],{"class":218},"tab1",[187,1329,215],{"class":200},[187,1331,834],{"class":200},[187,1333,1334],{"class":204}," label",[187,1336,356],{"class":200},[187,1338,391],{"class":200},[187,1340,1341],{"class":218},"Tab 1",[187,1343,215],{"class":200},[187,1345,834],{"class":200},[187,1347,1348],{"class":204}," active",[187,1350,356],{"class":200},[187,1352,1354],{"class":1353},"sfNiH"," true",[187,1356,1357],{"class":200}," },\n",[187,1359,1360,1362,1364,1366,1368,1371,1373,1375,1377,1379,1381,1384,1386,1388,1390,1392,1395],{"class":189,"line":240},[187,1361,1318],{"class":200},[187,1363,1102],{"class":204},[187,1365,356],{"class":200},[187,1367,391],{"class":200},[187,1369,1370],{"class":218},"tab2",[187,1372,215],{"class":200},[187,1374,834],{"class":200},[187,1376,1334],{"class":204},[187,1378,356],{"class":200},[187,1380,391],{"class":200},[187,1382,1383],{"class":218},"Tab 2",[187,1385,215],{"class":200},[187,1387,834],{"class":200},[187,1389,1348],{"class":204},[187,1391,356],{"class":200},[187,1393,1394],{"class":1353}," false",[187,1396,1357],{"class":200},[187,1398,1399],{"class":189,"line":252},[187,1400,1401],{"class":229},"])\n",[187,1403,1404],{"class":189,"line":259},[187,1405,256],{"emptyLinePlaceholder":255},[187,1407,1408,1410,1413,1415,1417,1420,1422,1425,1427,1429],{"class":189,"line":265},[187,1409,341],{"class":208},[187,1411,1412],{"class":229}," selectTab ",[187,1414,212],{"class":200},[187,1416,349],{"class":200},[187,1418,1419],{"class":352},"index",[187,1421,356],{"class":200},[187,1423,1424],{"class":359}," number",[187,1426,363],{"class":200},[187,1428,366],{"class":208},[187,1430,369],{"class":200},[187,1432,1433,1436,1438,1440,1442,1445,1447,1449,1452,1454,1457,1459,1461],{"class":189,"line":271},[187,1434,1435],{"class":229}," tabs",[187,1437,382],{"class":200},[187,1439,716],{"class":229},[187,1441,382],{"class":200},[187,1443,1444],{"class":428},"forEach",[187,1446,610],{"class":204},[187,1448,610],{"class":200},[187,1450,1451],{"class":352},"tab",[187,1453,834],{"class":200},[187,1455,1456],{"class":352}," i",[187,1458,363],{"class":200},[187,1460,366],{"class":208},[187,1462,369],{"class":200},[187,1464,1465,1468,1470,1473,1475,1477,1479],{"class":189,"line":277},[187,1466,1467],{"class":229}," tab",[187,1469,382],{"class":200},[187,1471,1472],{"class":229},"active",[187,1474,599],{"class":200},[187,1476,1456],{"class":229},[187,1478,388],{"class":200},[187,1480,1481],{"class":229}," index\n",[187,1483,1484,1486],{"class":189,"line":283},[187,1485,947],{"class":200},[187,1487,620],{"class":204},[187,1489,1490],{"class":189,"line":289},[187,1491,447],{"class":200},[187,1493,1494,1496,1498],{"class":189,"line":295},[187,1495,233],{"class":200},[187,1497,319],{"class":204},[187,1499,224],{"class":200},[187,1501,1502],{"class":189,"line":29},[187,1503,256],{"emptyLinePlaceholder":255},[187,1505,1506,1508,1510],{"class":189,"line":527},[187,1507,201],{"class":200},[187,1509,466],{"class":204},[187,1511,224],{"class":200},[187,1513,1514,1516,1518,1520,1522,1524,1527,1529],{"class":189,"line":537},[187,1515,478],{"class":200},[187,1517,205],{"class":204},[187,1519,1161],{"class":208},[187,1521,212],{"class":200},[187,1523,215],{"class":200},[187,1525,1526],{"class":218},"tablist",[187,1528,215],{"class":200},[187,1530,224],{"class":200},[187,1532,1533,1535],{"class":189,"line":773},[187,1534,1014],{"class":200},[187,1536,1537],{"class":204},"button\n",[187,1539,1540,1543,1545,1547,1550],{"class":189,"line":805},[187,1541,1542],{"class":208}," v-for",[187,1544,212],{"class":200},[187,1546,215],{"class":200},[187,1548,1549],{"class":218},"(tab, index) in tabs",[187,1551,1552],{"class":200},"\"\n",[187,1554,1555,1558,1560,1562,1565],{"class":189,"line":810},[187,1556,1557],{"class":208}," :key",[187,1559,212],{"class":200},[187,1561,215],{"class":200},[187,1563,1564],{"class":218},"tab.id",[187,1566,1552],{"class":200},[187,1568,1569,1572,1574,1576,1578],{"class":189,"line":848},[187,1570,1571],{"class":208}," role",[187,1573,212],{"class":200},[187,1575,215],{"class":200},[187,1577,1451],{"class":218},[187,1579,1552],{"class":200},[187,1581,1582,1585,1587,1589,1592],{"class":189,"line":857},[187,1583,1584],{"class":208}," :aria-selected",[187,1586,212],{"class":200},[187,1588,215],{"class":200},[187,1590,1591],{"class":218},"tab.active",[187,1593,1552],{"class":200},[187,1595,1596,1599,1601,1603,1606],{"class":189,"line":879},[187,1597,1598],{"class":208}," :aria-controls",[187,1600,212],{"class":200},[187,1602,215],{"class":200},[187,1604,1605],{"class":218},"`panel-${index}`",[187,1607,1552],{"class":200},[187,1609,1610,1613,1615,1617,1620],{"class":189,"line":891},[187,1611,1612],{"class":208}," :id",[187,1614,212],{"class":200},[187,1616,215],{"class":200},[187,1618,1619],{"class":218},"`tab-${index}`",[187,1621,1552],{"class":200},[187,1623,1624,1627,1629,1631,1634],{"class":189,"line":907},[187,1625,1626],{"class":208}," @click",[187,1628,212],{"class":200},[187,1630,215],{"class":200},[187,1632,1633],{"class":218},"selectTab(index)",[187,1635,1552],{"class":200},[187,1637,1638],{"class":189,"line":915},[187,1639,1640],{"class":200}," >\n",[187,1642,1643],{"class":189,"line":926},[187,1644,1645],{"class":229}," {{ tab.label }}\n",[187,1647,1648,1651,1653],{"class":189,"line":938},[187,1649,1650],{"class":200}," \n",[187,1766,1768,1770,1773,1776,1778,1780,1782,1784],{"class":189,"line":1767},37,[187,1769,1014],{"class":200},[187,1771,1772],{"class":204},"slot",[187,1774,1775],{"class":208}," :name",[187,1777,212],{"class":200},[187,1779,215],{"class":200},[187,1781,1605],{"class":218},[187,1783,215],{"class":200},[187,1785,1032],{"class":200},[187,1787,1789,1791,1793],{"class":189,"line":1788},38,[187,1790,530],{"class":200},[187,1792,205],{"class":204},[187,1794,224],{"class":200},[187,1796,1798,1800,1802],{"class":189,"line":1797},39,[187,1799,233],{"class":200},[187,1801,466],{"class":204},[187,1803,224],{"class":200},[98,1805,1807],{"id":1806},"color-and-contrast","Color and Contrast",[110,1809,1811],{"id":1810},"_1-minimum-contrast-ratios","1. Minimum Contrast Ratios",[177,1813,1817],{"className":1814,"code":1815,"language":1816,"meta":182,"style":182},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","/* WCAG 2.2 Requirements */\n.text-normal {\n color: #1a1a1a; /* 4.5:1 minimum on white */\n}\n\n.text-large {\n color: #595959; /* 3:1 minimum for large text (18pt+) */\n}\n\n.ui-components {\n border-color: #767676; /* 3:1 minimum */\n}\n","css",[184,1818,1819,1824,1833,1853,1857,1861,1870,1886,1890,1894,1903,1920],{"__ignoreMap":182},[187,1820,1821],{"class":189,"line":190},[187,1822,1823],{"class":193},"/* WCAG 2.2 Requirements */\n",[187,1825,1826,1828,1831],{"class":189,"line":197},[187,1827,382],{"class":200},[187,1829,1830],{"class":359},"text-normal",[187,1832,369],{"class":200},[187,1834,1835,1839,1841,1844,1847,1850],{"class":189,"line":16},[187,1836,1838],{"class":1837},"sqsOY"," color",[187,1840,356],{"class":200},[187,1842,1843],{"class":200}," #",[187,1845,1846],{"class":229},"1a1a1a",[187,1848,1849],{"class":200},";",[187,1851,1852],{"class":193}," /* 4.5:1 minimum on white */\n",[187,1854,1855],{"class":189,"line":240},[187,1856,447],{"class":200},[187,1858,1859],{"class":189,"line":252},[187,1860,256],{"emptyLinePlaceholder":255},[187,1862,1863,1865,1868],{"class":189,"line":259},[187,1864,382],{"class":200},[187,1866,1867],{"class":359},"text-large",[187,1869,369],{"class":200},[187,1871,1872,1874,1876,1878,1881,1883],{"class":189,"line":265},[187,1873,1838],{"class":1837},[187,1875,356],{"class":200},[187,1877,1843],{"class":200},[187,1879,1880],{"class":229},"595959",[187,1882,1849],{"class":200},[187,1884,1885],{"class":193}," /* 3:1 minimum for large text (18pt+) */\n",[187,1887,1888],{"class":189,"line":271},[187,1889,447],{"class":200},[187,1891,1892],{"class":189,"line":277},[187,1893,256],{"emptyLinePlaceholder":255},[187,1895,1896,1898,1901],{"class":189,"line":283},[187,1897,382],{"class":200},[187,1899,1900],{"class":359},"ui-components",[187,1902,369],{"class":200},[187,1904,1905,1908,1910,1912,1915,1917],{"class":189,"line":289},[187,1906,1907],{"class":1837}," border-color",[187,1909,356],{"class":200},[187,1911,1843],{"class":200},[187,1913,1914],{"class":229},"767676",[187,1916,1849],{"class":200},[187,1918,1919],{"class":193}," /* 3:1 minimum */\n",[187,1921,1922],{"class":189,"line":295},[187,1923,447],{"class":200},[110,1925,1927],{"id":1926},"_2-dont-rely-on-color-alone","2. Don't Rely on Color Alone",[177,1929,1931],{"className":179,"code":1930,"language":181,"meta":182,"style":182},"\nError\n\n\n\n \n Error: Invalid input\n\n",[184,1932,1933,1938,1966,1970,1975,1994,1999,2010],{"__ignoreMap":182},[187,1934,1935],{"class":189,"line":190},[187,1936,1937],{"class":193},"\n",[187,1939,1940,1942,1944,1946,1948,1950,1953,1955,1957,1960,1962,1964],{"class":189,"line":197},[187,1941,201],{"class":200},[187,1943,187],{"class":204},[187,1945,209],{"class":208},[187,1947,212],{"class":200},[187,1949,215],{"class":200},[187,1951,1952],{"class":218},"text-red",[187,1954,215],{"class":200},[187,1956,1113],{"class":200},[187,1958,1959],{"class":229},"Error",[187,1961,233],{"class":200},[187,1963,187],{"class":204},[187,1965,224],{"class":200},[187,1967,1968],{"class":189,"line":16},[187,1969,256],{"emptyLinePlaceholder":255},[187,1971,1972],{"class":189,"line":240},[187,1973,1974],{"class":193},"\n",[187,1976,1977,1979,1981,1983,1985,1987,1990,1992],{"class":189,"line":252},[187,1978,201],{"class":200},[187,1980,187],{"class":204},[187,1982,209],{"class":208},[187,1984,212],{"class":200},[187,1986,215],{"class":200},[187,1988,1989],{"class":218},"flex items-center gap-2",[187,1991,215],{"class":200},[187,1993,224],{"class":200},[187,1995,1996],{"class":189,"line":259},[187,1997,1998],{"class":229}," \n",[187,2000,2001,2004,2006,2008],{"class":189,"line":265},[187,2002,2003],{"class":229}," Error: Invalid input",[187,2005,233],{"class":200},[187,2007,187],{"class":204},[187,2009,224],{"class":200},[187,2011,2012,2014,2016,2018],{"class":189,"line":271},[187,2013,201],{"class":200},[187,2015,245],{"class":229},[187,2017,187],{"class":204},[187,2019,224],{"class":200},[110,2021,2023],{"id":2022},"_3-dark-mode-accessibility","3. Dark Mode Accessibility",[177,2025,2027],{"className":1814,"code":2026,"language":1816,"meta":182,"style":182},"/* Ensure contrast in both modes */\n:root {\n --text-primary: #1a1a1a;\n --background: #ffffff;\n}\n\n.dark {\n --text-primary: #f5f5f5;\n --background: #1a1a1a;\n}\n\n/* Test contrast ratios */\n.text {\n color: var(--text-primary);\n background: var(--background);\n /* Ensure 4.5:1 ratio */\n}\n",[184,2028,2029,2034,2043,2057,2071,2075,2079,2088,2101,2113,2117,2121,2126,2134,2151,2167,2172],{"__ignoreMap":182},[187,2030,2031],{"class":189,"line":190},[187,2032,2033],{"class":193},"/* Ensure contrast in both modes */\n",[187,2035,2036,2038,2041],{"class":189,"line":197},[187,2037,356],{"class":200},[187,2039,2040],{"class":208},"root",[187,2042,369],{"class":200},[187,2044,2045,2048,2050,2052,2054],{"class":189,"line":16},[187,2046,2047],{"class":229}," --text-primary",[187,2049,356],{"class":200},[187,2051,1843],{"class":200},[187,2053,1846],{"class":229},[187,2055,2056],{"class":200},";\n",[187,2058,2059,2062,2064,2066,2069],{"class":189,"line":240},[187,2060,2061],{"class":229}," --background",[187,2063,356],{"class":200},[187,2065,1843],{"class":200},[187,2067,2068],{"class":229},"ffffff",[187,2070,2056],{"class":200},[187,2072,2073],{"class":189,"line":252},[187,2074,447],{"class":200},[187,2076,2077],{"class":189,"line":259},[187,2078,256],{"emptyLinePlaceholder":255},[187,2080,2081,2083,2086],{"class":189,"line":265},[187,2082,382],{"class":200},[187,2084,2085],{"class":359},"dark",[187,2087,369],{"class":200},[187,2089,2090,2092,2094,2096,2099],{"class":189,"line":271},[187,2091,2047],{"class":229},[187,2093,356],{"class":200},[187,2095,1843],{"class":200},[187,2097,2098],{"class":229},"f5f5f5",[187,2100,2056],{"class":200},[187,2102,2103,2105,2107,2109,2111],{"class":189,"line":277},[187,2104,2061],{"class":229},[187,2106,356],{"class":200},[187,2108,1843],{"class":200},[187,2110,1846],{"class":229},[187,2112,2056],{"class":200},[187,2114,2115],{"class":189,"line":283},[187,2116,447],{"class":200},[187,2118,2119],{"class":189,"line":289},[187,2120,256],{"emptyLinePlaceholder":255},[187,2122,2123],{"class":189,"line":295},[187,2124,2125],{"class":193},"/* Test contrast ratios */\n",[187,2127,2128,2130,2132],{"class":189,"line":29},[187,2129,382],{"class":200},[187,2131,1066],{"class":359},[187,2133,369],{"class":200},[187,2135,2136,2138,2140,2143,2145,2148],{"class":189,"line":527},[187,2137,1838],{"class":1837},[187,2139,356],{"class":200},[187,2141,2142],{"class":428}," var",[187,2144,610],{"class":200},[187,2146,2147],{"class":229},"--text-primary",[187,2149,2150],{"class":200},");\n",[187,2152,2153,2156,2158,2160,2162,2165],{"class":189,"line":537},[187,2154,2155],{"class":1837}," background",[187,2157,356],{"class":200},[187,2159,2142],{"class":428},[187,2161,610],{"class":200},[187,2163,2164],{"class":229},"--background",[187,2166,2150],{"class":200},[187,2168,2169],{"class":189,"line":773},[187,2170,2171],{"class":193}," /* Ensure 4.5:1 ratio */\n",[187,2173,2174],{"class":189,"line":805},[187,2175,447],{"class":200},[98,2177,2179],{"id":2178},"form-accessibility","Form Accessibility",[110,2181,2183],{"id":2182},"_1-labels-and-error-messages","1. Labels and Error Messages",[177,2185,2187],{"className":179,"code":2186,"language":181,"meta":182,"style":182},"\n",[184,2188,2189,2197,2206,2225,2247,2252,2292,2301,2305,2312,2325,2338,2343,2356,2370,2384,2389,2393,2432,2437,2445,2453,2461],{"__ignoreMap":182},[187,2190,2191,2193,2195],{"class":189,"line":190},[187,2192,201],{"class":200},[187,2194,466],{"class":204},[187,2196,224],{"class":200},[187,2198,2199,2201,2204],{"class":189,"line":197},[187,2200,478],{"class":200},[187,2202,2203],{"class":204},"form",[187,2205,224],{"class":200},[187,2207,2208,2210,2212,2214,2216,2218,2221,2223],{"class":189,"line":16},[187,2209,1014],{"class":200},[187,2211,205],{"class":204},[187,2213,209],{"class":208},[187,2215,212],{"class":200},[187,2217,215],{"class":200},[187,2219,2220],{"class":218},"form-group",[187,2222,215],{"class":200},[187,2224,224],{"class":200},[187,2226,2227,2230,2233,2236,2238,2240,2243,2245],{"class":189,"line":240},[187,2228,2229],{"class":200}," <",[187,2231,2232],{"class":204},"label",[187,2234,2235],{"class":208}," for",[187,2237,212],{"class":200},[187,2239,215],{"class":200},[187,2241,2242],{"class":218},"email",[187,2244,215],{"class":200},[187,2246,224],{"class":200},[187,2248,2249],{"class":189,"line":252},[187,2250,2251],{"class":229}," Email Address\n",[187,2253,2254,2257,2259,2261,2263,2265,2268,2270,2273,2275,2277,2279,2281,2283,2286,2288,2290],{"class":189,"line":259},[187,2255,2256],{"class":200}," <",[187,2258,187],{"class":204},[187,2260,209],{"class":208},[187,2262,212],{"class":200},[187,2264,215],{"class":200},[187,2266,2267],{"class":218},"required",[187,2269,215],{"class":200},[187,2271,2272],{"class":208}," aria-hidden",[187,2274,212],{"class":200},[187,2276,215],{"class":200},[187,2278,1192],{"class":218},[187,2280,215],{"class":200},[187,2282,1113],{"class":200},[187,2284,2285],{"class":229},"*",[187,2287,233],{"class":200},[187,2289,187],{"class":204},[187,2291,224],{"class":200},[187,2293,2294,2297,2299],{"class":189,"line":265},[187,2295,2296],{"class":200}," \n",[187,2390,2391],{"class":189,"line":805},[187,2392,256],{"emptyLinePlaceholder":255},[187,2394,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2428,2430],{"class":189,"line":810},[187,2396,2229],{"class":200},[187,2398,102],{"class":204},[187,2400,1102],{"class":208},[187,2402,212],{"class":200},[187,2404,215],{"class":200},[187,2406,2381],{"class":218},[187,2408,215],{"class":200},[187,2410,1161],{"class":208},[187,2412,212],{"class":200},[187,2414,215],{"class":200},[187,2416,1233],{"class":218},[187,2418,215],{"class":200},[187,2420,209],{"class":208},[187,2422,212],{"class":200},[187,2424,215],{"class":200},[187,2426,2427],{"class":218},"error-message",[187,2429,215],{"class":200},[187,2431,224],{"class":200},[187,2433,2434],{"class":189,"line":848},[187,2435,2436],{"class":229}," Please enter a valid email\n",[187,2438,2439,2441,2443],{"class":189,"line":857},[187,2440,2296],{"class":200},[187,2442,102],{"class":204},[187,2444,224],{"class":200},[187,2446,2447,2449,2451],{"class":189,"line":879},[187,2448,1650],{"class":200},[187,2450,205],{"class":204},[187,2452,224],{"class":200},[187,2454,2455,2457,2459],{"class":189,"line":891},[187,2456,530],{"class":200},[187,2458,2203],{"class":204},[187,2460,224],{"class":200},[187,2462,2463,2465,2467],{"class":189,"line":907},[187,2464,233],{"class":200},[187,2466,466],{"class":204},[187,2468,224],{"class":200},[110,2470,2472],{"id":2471},"_2-fieldsets-and-legends","2. Fieldsets and Legends",[177,2474,2476],{"className":179,"code":2475,"language":181,"meta":182,"style":182},"\n",[184,2477,2478,2486,2495,2513,2517,2525,2553,2581,2589,2593,2601,2629,2657,2665,2673],{"__ignoreMap":182},[187,2479,2480,2482,2484],{"class":189,"line":190},[187,2481,201],{"class":200},[187,2483,466],{"class":204},[187,2485,224],{"class":200},[187,2487,2488,2490,2493],{"class":189,"line":197},[187,2489,478],{"class":200},[187,2491,2492],{"class":204},"fieldset",[187,2494,224],{"class":200},[187,2496,2497,2499,2502,2504,2507,2509,2511],{"class":189,"line":16},[187,2498,1014],{"class":200},[187,2500,2501],{"class":204},"legend",[187,2503,1113],{"class":200},[187,2505,2506],{"class":229},"Shipping Address",[187,2508,233],{"class":200},[187,2510,2501],{"class":204},[187,2512,224],{"class":200},[187,2514,2515],{"class":189,"line":240},[187,2516,256],{"emptyLinePlaceholder":255},[187,2518,2519,2521,2523],{"class":189,"line":252},[187,2520,1014],{"class":200},[187,2522,205],{"class":204},[187,2524,224],{"class":200},[187,2526,2527,2529,2531,2533,2535,2537,2540,2542,2544,2547,2549,2551],{"class":189,"line":259},[187,2528,2229],{"class":200},[187,2530,2232],{"class":204},[187,2532,2235],{"class":208},[187,2534,212],{"class":200},[187,2536,215],{"class":200},[187,2538,2539],{"class":218},"street",[187,2541,215],{"class":200},[187,2543,1113],{"class":200},[187,2545,2546],{"class":229},"Street",[187,2548,233],{"class":200},[187,2550,2232],{"class":204},[187,2552,224],{"class":200},[187,2554,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579],{"class":189,"line":265},[187,2556,2229],{"class":200},[187,2558,1056],{"class":204},[187,2560,1102],{"class":208},[187,2562,212],{"class":200},[187,2564,215],{"class":200},[187,2566,2539],{"class":218},[187,2568,215],{"class":200},[187,2570,1059],{"class":208},[187,2572,212],{"class":200},[187,2574,215],{"class":200},[187,2576,1066],{"class":218},[187,2578,215],{"class":200},[187,2580,1032],{"class":200},[187,2582,2583,2585,2587],{"class":189,"line":271},[187,2584,1650],{"class":200},[187,2586,205],{"class":204},[187,2588,224],{"class":200},[187,2590,2591],{"class":189,"line":277},[187,2592,256],{"emptyLinePlaceholder":255},[187,2594,2595,2597,2599],{"class":189,"line":283},[187,2596,1014],{"class":200},[187,2598,205],{"class":204},[187,2600,224],{"class":200},[187,2602,2603,2605,2607,2609,2611,2613,2616,2618,2620,2623,2625,2627],{"class":189,"line":289},[187,2604,2229],{"class":200},[187,2606,2232],{"class":204},[187,2608,2235],{"class":208},[187,2610,212],{"class":200},[187,2612,215],{"class":200},[187,2614,2615],{"class":218},"city",[187,2617,215],{"class":200},[187,2619,1113],{"class":200},[187,2621,2622],{"class":229},"City",[187,2624,233],{"class":200},[187,2626,2232],{"class":204},[187,2628,224],{"class":200},[187,2630,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655],{"class":189,"line":295},[187,2632,2229],{"class":200},[187,2634,1056],{"class":204},[187,2636,1102],{"class":208},[187,2638,212],{"class":200},[187,2640,215],{"class":200},[187,2642,2615],{"class":218},[187,2644,215],{"class":200},[187,2646,1059],{"class":208},[187,2648,212],{"class":200},[187,2650,215],{"class":200},[187,2652,1066],{"class":218},[187,2654,215],{"class":200},[187,2656,1032],{"class":200},[187,2658,2659,2661,2663],{"class":189,"line":29},[187,2660,1650],{"class":200},[187,2662,205],{"class":204},[187,2664,224],{"class":200},[187,2666,2667,2669,2671],{"class":189,"line":527},[187,2668,530],{"class":200},[187,2670,2492],{"class":204},[187,2672,224],{"class":200},[187,2674,2675,2677,2679],{"class":189,"line":537},[187,2676,233],{"class":200},[187,2678,466],{"class":204},[187,2680,224],{"class":200},[98,2682,2684],{"id":2683},"media-accessibility","Media Accessibility",[110,2686,2688],{"id":2687},"_1-images","1. Images",[177,2690,2692],{"className":179,"code":2691,"language":181,"meta":182,"style":182},"\n",[184,2693,2694,2702,2707,2747,2751,2756,2763,2777,2791,2796,2800,2805,2814,2844,2853,2881,2889,2897],{"__ignoreMap":182},[187,2695,2696,2698,2700],{"class":189,"line":190},[187,2697,201],{"class":200},[187,2699,466],{"class":204},[187,2701,224],{"class":200},[187,2703,2704],{"class":189,"line":197},[187,2705,2706],{"class":193}," \n",[187,2708,2709,2711,2714,2717,2719,2721,2724,2726,2729,2731,2734,2736,2738,2740,2743,2745],{"class":189,"line":16},[187,2710,478],{"class":200},[187,2712,2713],{"class":204},"img",[187,2715,2716],{"class":208}," src",[187,2718,212],{"class":200},[187,2720,215],{"class":200},[187,2722,2723],{"class":218},"decoration.png",[187,2725,215],{"class":200},[187,2727,2728],{"class":208}," alt",[187,2730,212],{"class":200},[187,2732,2733],{"class":200},"\"\"",[187,2735,1161],{"class":208},[187,2737,212],{"class":200},[187,2739,215],{"class":200},[187,2741,2742],{"class":218},"presentation",[187,2744,215],{"class":200},[187,2746,1032],{"class":200},[187,2748,2749],{"class":189,"line":240},[187,2750,256],{"emptyLinePlaceholder":255},[187,2752,2753],{"class":189,"line":252},[187,2754,2755],{"class":193}," \n",[187,2757,2758,2760],{"class":189,"line":259},[187,2759,478],{"class":200},[187,2761,2762],{"class":204},"img\n",[187,2764,2765,2768,2770,2772,2775],{"class":189,"line":265},[187,2766,2767],{"class":208}," src",[187,2769,212],{"class":200},[187,2771,215],{"class":200},[187,2773,2774],{"class":218},"chart.png",[187,2776,1552],{"class":200},[187,2778,2779,2782,2784,2786,2789],{"class":189,"line":271},[187,2780,2781],{"class":208}," alt",[187,2783,212],{"class":200},[187,2785,215],{"class":200},[187,2787,2788],{"class":218},"Bar chart showing sales increase of 25% in Q4 2025",[187,2790,1552],{"class":200},[187,2792,2793],{"class":189,"line":277},[187,2794,2795],{"class":200}," />\n",[187,2797,2798],{"class":189,"line":283},[187,2799,256],{"emptyLinePlaceholder":255},[187,2801,2802],{"class":189,"line":289},[187,2803,2804],{"class":193}," \n",[187,2806,2807,2809,2812],{"class":189,"line":295},[187,2808,478],{"class":200},[187,2810,2811],{"class":204},"figure",[187,2813,224],{"class":200},[187,2815,2816,2818,2820,2822,2824,2826,2829,2831,2833,2835,2837,2840,2842],{"class":189,"line":29},[187,2817,1014],{"class":200},[187,2819,2713],{"class":204},[187,2821,2716],{"class":208},[187,2823,212],{"class":200},[187,2825,215],{"class":200},[187,2827,2828],{"class":218},"infographic.png",[187,2830,215],{"class":200},[187,2832,2728],{"class":208},[187,2834,212],{"class":200},[187,2836,215],{"class":200},[187,2838,2839],{"class":218},"See infographic description below",[187,2841,215],{"class":200},[187,2843,1032],{"class":200},[187,2845,2846,2848,2851],{"class":189,"line":527},[187,2847,1014],{"class":200},[187,2849,2850],{"class":204},"figcaption",[187,2852,224],{"class":200},[187,2854,2855,2857,2859,2861,2863,2865,2868,2870,2872,2875,2877,2879],{"class":189,"line":537},[187,2856,2229],{"class":200},[187,2858,102],{"class":204},[187,2860,209],{"class":208},[187,2862,212],{"class":200},[187,2864,215],{"class":200},[187,2866,2867],{"class":218},"sr-only",[187,2869,215],{"class":200},[187,2871,1113],{"class":200},[187,2873,2874],{"class":229},"Detailed description of the infographic content...",[187,2876,233],{"class":200},[187,2878,102],{"class":204},[187,2880,224],{"class":200},[187,2882,2883,2885,2887],{"class":189,"line":773},[187,2884,1650],{"class":200},[187,2886,2850],{"class":204},[187,2888,224],{"class":200},[187,2890,2891,2893,2895],{"class":189,"line":805},[187,2892,530],{"class":200},[187,2894,2811],{"class":204},[187,2896,224],{"class":200},[187,2898,2899,2901,2903],{"class":189,"line":810},[187,2900,233],{"class":200},[187,2902,466],{"class":204},[187,2904,224],{"class":200},[110,2906,2908],{"id":2907},"_2-video-and-audio","2. Video and Audio",[177,2910,2912],{"className":179,"code":2911,"language":181,"meta":182,"style":182},"\n",[184,2913,2914,2922,2934,2965,3020,3060,3068],{"__ignoreMap":182},[187,2915,2916,2918,2920],{"class":189,"line":190},[187,2917,201],{"class":200},[187,2919,466],{"class":204},[187,2921,224],{"class":200},[187,2923,2924,2926,2929,2932],{"class":189,"line":197},[187,2925,478],{"class":200},[187,2927,2928],{"class":204},"video",[187,2930,2931],{"class":208}," controls",[187,2933,224],{"class":200},[187,2935,2936,2938,2941,2943,2945,2947,2950,2952,2954,2956,2958,2961,2963],{"class":189,"line":16},[187,2937,1014],{"class":200},[187,2939,2940],{"class":204},"source",[187,2942,2716],{"class":208},[187,2944,212],{"class":200},[187,2946,215],{"class":200},[187,2948,2949],{"class":218},"video.mp4",[187,2951,215],{"class":200},[187,2953,1059],{"class":208},[187,2955,212],{"class":200},[187,2957,215],{"class":200},[187,2959,2960],{"class":218},"video/mp4",[187,2962,215],{"class":200},[187,2964,1032],{"class":200},[187,2966,2967,2969,2972,2975,2977,2979,2982,2984,2986,2988,2990,2993,2995,2998,3000,3002,3005,3007,3009,3011,3013,3016,3018],{"class":189,"line":240},[187,2968,1014],{"class":200},[187,2970,2971],{"class":204},"track",[187,2973,2974],{"class":208}," kind",[187,2976,212],{"class":200},[187,2978,215],{"class":200},[187,2980,2981],{"class":218},"captions",[187,2983,215],{"class":200},[187,2985,2716],{"class":208},[187,2987,212],{"class":200},[187,2989,215],{"class":200},[187,2991,2992],{"class":218},"captions.vtt",[187,2994,215],{"class":200},[187,2996,2997],{"class":208}," srclang",[187,2999,212],{"class":200},[187,3001,215],{"class":200},[187,3003,3004],{"class":218},"en",[187,3006,215],{"class":200},[187,3008,1334],{"class":208},[187,3010,212],{"class":200},[187,3012,215],{"class":200},[187,3014,3015],{"class":218},"English",[187,3017,215],{"class":200},[187,3019,1032],{"class":200},[187,3021,3022,3024,3026,3028,3030,3032,3035,3037,3039,3041,3043,3046,3048,3050,3052,3054,3056,3058],{"class":189,"line":252},[187,3023,1014],{"class":200},[187,3025,2971],{"class":204},[187,3027,2974],{"class":208},[187,3029,212],{"class":200},[187,3031,215],{"class":200},[187,3033,3034],{"class":218},"descriptions",[187,3036,215],{"class":200},[187,3038,2716],{"class":208},[187,3040,212],{"class":200},[187,3042,215],{"class":200},[187,3044,3045],{"class":218},"descriptions.vtt",[187,3047,215],{"class":200},[187,3049,2997],{"class":208},[187,3051,212],{"class":200},[187,3053,215],{"class":200},[187,3055,3004],{"class":218},[187,3057,215],{"class":200},[187,3059,1032],{"class":200},[187,3061,3062,3064,3066],{"class":189,"line":259},[187,3063,530],{"class":200},[187,3065,2928],{"class":204},[187,3067,224],{"class":200},[187,3069,3070,3072,3074],{"class":189,"line":265},[187,3071,233],{"class":200},[187,3073,466],{"class":204},[187,3075,224],{"class":200},[98,3077,3079],{"id":3078},"testing-accessibility","Testing Accessibility",[110,3081,3083],{"id":3082},"_1-automated-testing","1. Automated Testing",[177,3085,3089],{"className":3086,"code":3087,"language":3088,"meta":182,"style":182},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// vitest.config.ts\nimport { defineVitestConfig } from \"@nuxt/test-utils/config\"\n\nexport default defineVitestConfig({\n test: {\n setupFiles: [\"./test/setup.ts\"],\n },\n})\n\n// test/accessibility.test.ts\nimport { axe, toHaveNoViolations } from \"jest-axe\"\nimport { mount } from \"@vue/test-utils\"\nimport MyComponent from \"@/components/MyComponent.vue\"\n\nexpect.extend(toHaveNoViolations)\n\ntest(\"should not have accessibility violations\", async () => {\n const wrapper = mount(MyComponent)\n const results = await axe(wrapper.element)\n expect(results).toHaveNoViolations()\n})\n","typescript",[184,3090,3091,3096,3120,3124,3138,3147,3169,3174,3181,3185,3190,3215,3235,3252,3256,3269,3273,3298,3316,3341,3360],{"__ignoreMap":182},[187,3092,3093],{"class":189,"line":190},[187,3094,3095],{"class":193},"// vitest.config.ts\n",[187,3097,3098,3101,3104,3107,3110,3113,3115,3118],{"class":189,"line":197},[187,3099,3100],{"class":374},"import",[187,3102,3103],{"class":200}," {",[187,3105,3106],{"class":229}," defineVitestConfig",[187,3108,3109],{"class":200}," }",[187,3111,3112],{"class":374}," from",[187,3114,391],{"class":200},[187,3116,3117],{"class":218},"@nuxt/test-utils/config",[187,3119,1552],{"class":200},[187,3121,3122],{"class":189,"line":16},[187,3123,256],{"emptyLinePlaceholder":255},[187,3125,3126,3129,3132,3134,3136],{"class":189,"line":240},[187,3127,3128],{"class":374},"export",[187,3130,3131],{"class":374}," default",[187,3133,3106],{"class":428},[187,3135,610],{"class":229},[187,3137,418],{"class":200},[187,3139,3140,3143,3145],{"class":189,"line":252},[187,3141,3142],{"class":204}," test",[187,3144,356],{"class":200},[187,3146,369],{"class":200},[187,3148,3149,3152,3154,3157,3159,3162,3164,3167],{"class":189,"line":259},[187,3150,3151],{"class":204}," setupFiles",[187,3153,356],{"class":200},[187,3155,3156],{"class":229}," [",[187,3158,215],{"class":200},[187,3160,3161],{"class":218},"./test/setup.ts",[187,3163,215],{"class":200},[187,3165,3166],{"class":229},"]",[187,3168,739],{"class":200},[187,3170,3171],{"class":189,"line":265},[187,3172,3173],{"class":200}," },\n",[187,3175,3176,3179],{"class":189,"line":271},[187,3177,3178],{"class":200},"}",[187,3180,620],{"class":229},[187,3182,3183],{"class":189,"line":277},[187,3184,256],{"emptyLinePlaceholder":255},[187,3186,3187],{"class":189,"line":283},[187,3188,3189],{"class":193},"// test/accessibility.test.ts\n",[187,3191,3192,3194,3196,3199,3201,3204,3206,3208,3210,3213],{"class":189,"line":289},[187,3193,3100],{"class":374},[187,3195,3103],{"class":200},[187,3197,3198],{"class":229}," axe",[187,3200,834],{"class":200},[187,3202,3203],{"class":229}," toHaveNoViolations",[187,3205,3109],{"class":200},[187,3207,3112],{"class":374},[187,3209,391],{"class":200},[187,3211,3212],{"class":218},"jest-axe",[187,3214,1552],{"class":200},[187,3216,3217,3219,3221,3224,3226,3228,3230,3233],{"class":189,"line":295},[187,3218,3100],{"class":374},[187,3220,3103],{"class":200},[187,3222,3223],{"class":229}," mount",[187,3225,3109],{"class":200},[187,3227,3112],{"class":374},[187,3229,391],{"class":200},[187,3231,3232],{"class":218},"@vue/test-utils",[187,3234,1552],{"class":200},[187,3236,3237,3239,3242,3245,3247,3250],{"class":189,"line":29},[187,3238,3100],{"class":374},[187,3240,3241],{"class":229}," MyComponent ",[187,3243,3244],{"class":374},"from",[187,3246,391],{"class":200},[187,3248,3249],{"class":218},"@/components/MyComponent.vue",[187,3251,1552],{"class":200},[187,3253,3254],{"class":189,"line":527},[187,3255,256],{"emptyLinePlaceholder":255},[187,3257,3258,3261,3263,3266],{"class":189,"line":537},[187,3259,3260],{"class":229},"expect",[187,3262,382],{"class":200},[187,3264,3265],{"class":428},"extend",[187,3267,3268],{"class":229},"(toHaveNoViolations)\n",[187,3270,3271],{"class":189,"line":773},[187,3272,256],{"emptyLinePlaceholder":255},[187,3274,3275,3278,3280,3282,3285,3287,3289,3292,3294,3296],{"class":189,"line":805},[187,3276,3277],{"class":428},"test",[187,3279,610],{"class":229},[187,3281,215],{"class":200},[187,3283,3284],{"class":218},"should not have accessibility violations",[187,3286,215],{"class":200},[187,3288,834],{"class":200},[187,3290,3291],{"class":208}," async",[187,3293,584],{"class":200},[187,3295,366],{"class":208},[187,3297,369],{"class":200},[187,3299,3300,3302,3305,3307,3309,3311,3314],{"class":189,"line":810},[187,3301,593],{"class":208},[187,3303,3304],{"class":229}," wrapper",[187,3306,599],{"class":200},[187,3308,3223],{"class":428},[187,3310,610],{"class":204},[187,3312,3313],{"class":229},"MyComponent",[187,3315,620],{"class":204},[187,3317,3318,3320,3323,3325,3328,3330,3332,3335,3337,3339],{"class":189,"line":848},[187,3319,593],{"class":208},[187,3321,3322],{"class":229}," results",[187,3324,599],{"class":200},[187,3326,3327],{"class":374}," await",[187,3329,3198],{"class":428},[187,3331,610],{"class":204},[187,3333,3334],{"class":229},"wrapper",[187,3336,382],{"class":200},[187,3338,676],{"class":229},[187,3340,620],{"class":204},[187,3342,3343,3346,3348,3351,3353,3355,3358],{"class":189,"line":857},[187,3344,3345],{"class":428}," expect",[187,3347,610],{"class":204},[187,3349,3350],{"class":229},"results",[187,3352,363],{"class":204},[187,3354,382],{"class":200},[187,3356,3357],{"class":428},"toHaveNoViolations",[187,3359,432],{"class":204},[187,3361,3362,3364],{"class":189,"line":879},[187,3363,3178],{"class":200},[187,3365,620],{"class":229},[110,3367,3369],{"id":3368},"_2-manual-testing-checklist","2. Manual Testing Checklist",[177,3371,3373],{"className":3086,"code":3372,"language":3088,"meta":182,"style":182},"// Test scenarios\nconst accessibilityTests = [\n \"Navigate using keyboard only\",\n \"Test with screen reader (NVDA, JAWS, VoiceOver)\",\n \"Check color contrast\",\n \"Verify focus indicators\",\n \"Test zoom to 200%\",\n \"Validate with WAVE tool\",\n \"Test with browser accessibility tools\",\n]\n",[184,3374,3375,3380,3392,3404,3415,3426,3437,3448,3459,3470],{"__ignoreMap":182},[187,3376,3377],{"class":189,"line":190},[187,3378,3379],{"class":193},"// Test scenarios\n",[187,3381,3382,3384,3387,3389],{"class":189,"line":197},[187,3383,341],{"class":208},[187,3385,3386],{"class":229}," accessibilityTests ",[187,3388,212],{"class":200},[187,3390,3391],{"class":229}," [\n",[187,3393,3394,3397,3400,3402],{"class":189,"line":16},[187,3395,3396],{"class":200}," \"",[187,3398,3399],{"class":218},"Navigate using keyboard only",[187,3401,215],{"class":200},[187,3403,739],{"class":200},[187,3405,3406,3408,3411,3413],{"class":189,"line":240},[187,3407,3396],{"class":200},[187,3409,3410],{"class":218},"Test with screen reader (NVDA, JAWS, VoiceOver)",[187,3412,215],{"class":200},[187,3414,739],{"class":200},[187,3416,3417,3419,3422,3424],{"class":189,"line":252},[187,3418,3396],{"class":200},[187,3420,3421],{"class":218},"Check color contrast",[187,3423,215],{"class":200},[187,3425,739],{"class":200},[187,3427,3428,3430,3433,3435],{"class":189,"line":259},[187,3429,3396],{"class":200},[187,3431,3432],{"class":218},"Verify focus indicators",[187,3434,215],{"class":200},[187,3436,739],{"class":200},[187,3438,3439,3441,3444,3446],{"class":189,"line":265},[187,3440,3396],{"class":200},[187,3442,3443],{"class":218},"Test zoom to 200%",[187,3445,215],{"class":200},[187,3447,739],{"class":200},[187,3449,3450,3452,3455,3457],{"class":189,"line":271},[187,3451,3396],{"class":200},[187,3453,3454],{"class":218},"Validate with WAVE tool",[187,3456,215],{"class":200},[187,3458,739],{"class":200},[187,3460,3461,3463,3466,3468],{"class":189,"line":277},[187,3462,3396],{"class":200},[187,3464,3465],{"class":218},"Test with browser accessibility tools",[187,3467,215],{"class":200},[187,3469,739],{"class":200},[187,3471,3472],{"class":189,"line":283},[187,3473,770],{"class":229},[110,3475,3477],{"id":3476},"_3-cicd-integration","3. CI/CD Integration",[177,3479,3483],{"className":3480,"code":3481,"language":3482,"meta":182,"style":182},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# .github/workflows/accessibility.yml\nname: Accessibility Testing\n\non: [push]\n\njobs:\n a11y:\n runs-on: ubuntu-latest\n\n steps:\n - uses: actions/checkout@v3\n\n - name: Install dependencies\n run: npm ci\n\n - name: Run accessibility tests\n run: npm run test:a11y\n\n - name: Lighthouse CI\n run: npx @lhci/cli@latest autorun\n","yaml",[184,3484,3485,3490,3500,3504,3518,3522,3530,3537,3547,3551,3558,3571,3575,3586,3596,3600,3611,3620,3624,3635],{"__ignoreMap":182},[187,3486,3487],{"class":189,"line":190},[187,3488,3489],{"class":193},"# .github/workflows/accessibility.yml\n",[187,3491,3492,3495,3497],{"class":189,"line":197},[187,3493,3494],{"class":204},"name",[187,3496,356],{"class":200},[187,3498,3499],{"class":218}," Accessibility Testing\n",[187,3501,3502],{"class":189,"line":16},[187,3503,256],{"emptyLinePlaceholder":255},[187,3505,3506,3509,3511,3513,3516],{"class":189,"line":240},[187,3507,3508],{"class":1353},"on",[187,3510,356],{"class":200},[187,3512,3156],{"class":200},[187,3514,3515],{"class":218},"push",[187,3517,770],{"class":200},[187,3519,3520],{"class":189,"line":252},[187,3521,256],{"emptyLinePlaceholder":255},[187,3523,3524,3527],{"class":189,"line":259},[187,3525,3526],{"class":204},"jobs",[187,3528,3529],{"class":200},":\n",[187,3531,3532,3535],{"class":189,"line":265},[187,3533,3534],{"class":204}," a11y",[187,3536,3529],{"class":200},[187,3538,3539,3542,3544],{"class":189,"line":271},[187,3540,3541],{"class":204}," runs-on",[187,3543,356],{"class":200},[187,3545,3546],{"class":218}," ubuntu-latest\n",[187,3548,3549],{"class":189,"line":277},[187,3550,256],{"emptyLinePlaceholder":255},[187,3552,3553,3556],{"class":189,"line":283},[187,3554,3555],{"class":204}," steps",[187,3557,3529],{"class":200},[187,3559,3560,3563,3566,3568],{"class":189,"line":289},[187,3561,3562],{"class":200}," -",[187,3564,3565],{"class":204}," uses",[187,3567,356],{"class":200},[187,3569,3570],{"class":218}," actions/checkout@v3\n",[187,3572,3573],{"class":189,"line":295},[187,3574,256],{"emptyLinePlaceholder":255},[187,3576,3577,3579,3581,3583],{"class":189,"line":29},[187,3578,3562],{"class":200},[187,3580,1020],{"class":204},[187,3582,356],{"class":200},[187,3584,3585],{"class":218}," Install dependencies\n",[187,3587,3588,3591,3593],{"class":189,"line":527},[187,3589,3590],{"class":204}," run",[187,3592,356],{"class":200},[187,3594,3595],{"class":218}," npm ci\n",[187,3597,3598],{"class":189,"line":537},[187,3599,256],{"emptyLinePlaceholder":255},[187,3601,3602,3604,3606,3608],{"class":189,"line":773},[187,3603,3562],{"class":200},[187,3605,1020],{"class":204},[187,3607,356],{"class":200},[187,3609,3610],{"class":218}," Run accessibility tests\n",[187,3612,3613,3615,3617],{"class":189,"line":805},[187,3614,3590],{"class":204},[187,3616,356],{"class":200},[187,3618,3619],{"class":218}," npm run test:a11y\n",[187,3621,3622],{"class":189,"line":810},[187,3623,256],{"emptyLinePlaceholder":255},[187,3625,3626,3628,3630,3632],{"class":189,"line":848},[187,3627,3562],{"class":200},[187,3629,1020],{"class":204},[187,3631,356],{"class":200},[187,3633,3634],{"class":218}," Lighthouse CI\n",[187,3636,3637,3639,3641],{"class":189,"line":857},[187,3638,3590],{"class":204},[187,3640,356],{"class":200},[187,3642,3643],{"class":218}," npx @lhci/cli@latest autorun\n",[98,3645,3647],{"id":3646},"common-accessibility-mistakes","Common Accessibility Mistakes",[110,3649,3651],{"id":3650},"_1-missing-skip-links","1. Missing Skip Links",[177,3653,3655],{"className":179,"code":3654,"language":181,"meta":182,"style":182},"\n\n Skip to main content\n\n\n
\n \n
\n",[184,3656,3657,3662,3694,3699,3707,3711,3730,3735],{"__ignoreMap":182},[187,3658,3659],{"class":189,"line":190},[187,3660,3661],{"class":193},"\n",[187,3663,3664,3666,3669,3672,3674,3676,3679,3681,3683,3685,3687,3690,3692],{"class":189,"line":197},[187,3665,201],{"class":200},[187,3667,3668],{"class":204},"a",[187,3670,3671],{"class":208}," href",[187,3673,212],{"class":200},[187,3675,215],{"class":200},[187,3677,3678],{"class":218},"#main",[187,3680,215],{"class":200},[187,3682,209],{"class":208},[187,3684,212],{"class":200},[187,3686,215],{"class":200},[187,3688,3689],{"class":218},"skip-link",[187,3691,215],{"class":200},[187,3693,224],{"class":200},[187,3695,3696],{"class":189,"line":16},[187,3697,3698],{"class":229}," Skip to main content\n",[187,3700,3701,3703,3705],{"class":189,"line":240},[187,3702,233],{"class":200},[187,3704,3668],{"class":204},[187,3706,224],{"class":200},[187,3708,3709],{"class":189,"line":252},[187,3710,256],{"emptyLinePlaceholder":255},[187,3712,3713,3715,3718,3720,3722,3724,3726,3728],{"class":189,"line":259},[187,3714,201],{"class":200},[187,3716,3717],{"class":204},"main",[187,3719,1102],{"class":208},[187,3721,212],{"class":200},[187,3723,215],{"class":200},[187,3725,3717],{"class":218},[187,3727,215],{"class":200},[187,3729,224],{"class":200},[187,3731,3732],{"class":189,"line":265},[187,3733,3734],{"class":229}," \n",[187,3736,3737,3739,3741],{"class":189,"line":271},[187,3738,233],{"class":200},[187,3740,3717],{"class":204},[187,3742,224],{"class":200},[110,3744,3746],{"id":3745},"_2-improper-heading-structure","2. Improper Heading Structure",[177,3748,3750],{"className":179,"code":3749,"language":181,"meta":182,"style":182},"\n

Main Title

\n

Subsection

\n\n\n

Main Title

\n

Section

\n

Subsection

\n",[184,3751,3752,3757,3775,3792,3796,3801,3817,3834],{"__ignoreMap":182},[187,3753,3754],{"class":189,"line":190},[187,3755,3756],{"class":193},"\n",[187,3758,3759,3761,3764,3766,3769,3771,3773],{"class":189,"line":197},[187,3760,201],{"class":200},[187,3762,3763],{"class":204},"h1",[187,3765,1113],{"class":200},[187,3767,3768],{"class":229},"Main Title",[187,3770,233],{"class":200},[187,3772,3763],{"class":204},[187,3774,224],{"class":200},[187,3776,3777,3779,3781,3783,3786,3788,3790],{"class":189,"line":16},[187,3778,201],{"class":200},[187,3780,110],{"class":204},[187,3782,1113],{"class":200},[187,3784,3785],{"class":229},"Subsection",[187,3787,233],{"class":200},[187,3789,110],{"class":204},[187,3791,224],{"class":200},[187,3793,3794],{"class":189,"line":240},[187,3795,256],{"emptyLinePlaceholder":255},[187,3797,3798],{"class":189,"line":252},[187,3799,3800],{"class":193},"\n",[187,3802,3803,3805,3807,3809,3811,3813,3815],{"class":189,"line":259},[187,3804,201],{"class":200},[187,3806,3763],{"class":204},[187,3808,1113],{"class":200},[187,3810,3768],{"class":229},[187,3812,233],{"class":200},[187,3814,3763],{"class":204},[187,3816,224],{"class":200},[187,3818,3819,3821,3823,3825,3828,3830,3832],{"class":189,"line":265},[187,3820,201],{"class":200},[187,3822,98],{"class":204},[187,3824,1113],{"class":200},[187,3826,3827],{"class":229},"Section",[187,3829,233],{"class":200},[187,3831,98],{"class":204},[187,3833,224],{"class":200},[187,3835,3836,3838,3840,3842,3844,3846,3848],{"class":189,"line":271},[187,3837,201],{"class":200},[187,3839,110],{"class":204},[187,3841,1113],{"class":200},[187,3843,3785],{"class":229},[187,3845,233],{"class":200},[187,3847,110],{"class":204},[187,3849,224],{"class":200},[110,3851,3853],{"id":3852},"_3-auto-playing-media","3. Auto-playing Media",[177,3855,3857],{"className":179,"code":3856,"language":181,"meta":182,"style":182},"\n