Accessibility Standards Reference
WCAG 2.2, ARIA roles, and the PR accessibility checklist.
Listen
Transcript
Alex: Welcome back. Today we're using Appendix M as a practical reference for accessibility standards: WCAG 2.2, ARIA, and the checks that belong in a pull request review.
Jamie: I like the word reference there, because standards can feel huge. Are learners supposed to memorize criterion numbers?
Alex: No. The useful habit is knowing where to look when a review mentions something like WCAG 1.4.3 or name, role, value. This appendix pairs especially well with the open source culture chapter and the VS Code accessibility chapter, because it turns accessibility values into reviewable requirements.
Jamie: So when a maintainer says the focus indicator does not meet WCAG, I do not panic. I look up the criterion, understand the requirement, and check the change against it.
Alex: WCAG stands for Web Content Accessibility Guidelines. It is the main standard used to evaluate accessibility on the web, and WCAG 2.2 is organized around four principles, often remembered as POUR.
Jamie: Perceivable, Operable, Understandable, and Robust, right?
Alex: Right. Perceivable means people can access the information in a way that works for them, like an image having useful alt text. Operable means controls and navigation can actually be used, like a button working from the keyboard, not only on mouse hover. Understandable means the interface and messages make sense, such as an error that explains what needs fixing. Robust means the code can be interpreted reliably by browsers and assistive technologies.
Jamie: That last one is where custom widgets can get risky. Something may look like a menu or button visually, but if the code does not expose what it is, a screen reader may not have enough information.
Alex: Exactly. Every WCAG success criterion fits under one of those four principles. The learning cards in the appendix turn that into practical habits: use POUR while reviewing, use find to jump to criterion numbers, and keep contrast and ARIA pattern references close by.
Jamie: What about the levels? I see A, AA, and AAA in accessibility conversations, and I always wonder how much weight each one carries.
Alex: Level A is the baseline. It addresses severe barriers, such as missing keyboard access or missing text alternatives. Level AA goes further and is the usual target for compliance in government, enterprise, and many open source projects. Level AAA is the highest level, but it is not usually required across an entire project.
Jamie: So if I am filing a bug or reviewing a pull request, WCAG 2.2 AA is usually the level I should expect to work with.
Alex: Yes. If a project has its own policy, follow that, but AA is the standard you will most often cite. It is specific enough to guide a review without asking every project to meet every AAA requirement everywhere.
Alex: The criteria developers run into most often are not obscure. Under Perceivable, you will see non-text content, info and relationships, meaningful sequence, sensory characteristics, use of color, contrast, resize text, reflow, and non-text contrast.
Jamie: That is where low vision checks show up a lot. Text needs enough contrast, user interface parts need enough contrast, and content should still work at high zoom without forcing horizontal scrolling.
Alex: Exactly. Operable includes keyboard access, no keyboard traps, skip links or other ways to bypass repeated navigation, descriptive page titles, logical focus order, useful link text, clear headings and labels, visible focus, the WCAG 2.2 focus appearance requirement, and label in name.
Jamie: Label in name is the one where the accessible name should include the visible label, yes? So if a button visibly says Save, voice control and screen reader users should not get a totally different name.
Alex: Yes. Understandable includes the page language, no unexpected changes on focus or input, clear error identification, labels or instructions for form fields, and suggestions when an error can be corrected. Robust includes valid markup that assistive technology can interpret, name role value for interface components, and status messages that are announced without moving focus.
Jamie: That makes the criteria feel less like legal codes and more like review questions. Can I perceive it? Can I operate it? Can I understand it? Can assistive technology understand the code?
Alex: ARIA stands for Accessible Rich Internet Applications. It fills gaps when native HTML does not fully describe a complex interactive control.
Jamie: And ARIA has roles, states, and properties. Can you separate those in plain language?
Alex: A role says what the thing is, such as button, dialog, tab, navigation, or status. A state says what condition it is currently in, such as aria-expanded false, aria-checked true, or aria-disabled true. A property gives a stable detail, such as aria-label, aria-required, or aria-describedby.
Jamie: The part I hear people get wrong is assuming ARIA magically makes something accessible.
Alex: It does not. Use native HTML when it works, because a real button already has the right role and keyboard behavior. If you add an ARIA role to a custom element, you must also provide the matching keyboard interaction, like Enter and Space for a button. And ARIA changes what assistive technologies can read; it does not add visual styling or behavior by itself.
Jamie: Landmarks are another ARIA topic that comes up a lot for screen reader users. What are they doing?
Alex: Landmarks identify major page regions so someone can jump around efficiently. Common ones include banner for a site header, navigation for navigation links, main for the primary content, complementary for supporting content, contentinfo for a footer, search for search tools, form for an important form, and region for a named area that needs to be discoverable.
Jamie: So a page is not just a long stream of text and controls. It has named areas that can be navigated.
Alex: Yes. On GitHub and many web apps, screen reader users may move by landmarks using commands in NVDA, JAWS, or the VoiceOver Rotor. Good landmarks help someone move straight to the main content, the navigation, or a form without listening through everything in between.
Jamie: The appendix also shows common ARIA patterns. Let's talk through the ones a contributor is likely to touch.
Alex: First, the accessible button pattern when a native button cannot be used. You would need the button role, a keyboard focus target, a clear accessible name, and JavaScript support for Enter and Space. But the better question is always whether you can use a real button element instead.
Jamie: Then forms with errors. This one matters because error messages often get added late, and late fixes are where accessibility details disappear.
Alex: A good form field has a programmatic label, instructions when needed, and an error message connected to the field, often with aria-describedby. The field can use aria-invalid true when the value is invalid. The error text should say what is wrong and, when possible, how to fix it.
Jamie: Live regions are for updates that happen without a page reload, right? Like Saved, Item added, or Results loaded.
Alex: Yes. A polite live region, such as role status or aria-live polite, lets assistive technology announce the update without moving focus. Assertive announcements should be rare, because they interrupt what the person is already hearing. For expandable sections, the control should usually be a button with aria-expanded, often connected to the panel with aria-controls, and the state needs to change when the section opens or closes.
Jamie: That gives reviewers something concrete to inspect: the control, the name, the state, the keyboard behavior, and the announcement.
Jamie: Where do these standards show up in GitHub work? Not just building web apps, but actual contributions.
Alex: They show up when you file accessibility bugs, review pull requests, and write documentation. Standards help you describe the problem in a way maintainers can act on.
Jamie: For a bug report, what should I include?
Alex: Include the page or component, the steps to reproduce, what you expected, what actually happened, and the assistive technology or browser setup if it matters. If you know the relevant criterion, cite it. For example, a missing focus indicator might reference WCAG 2.4.7, and weak text contrast might reference WCAG 1.4.3.
Jamie: And in code review, I should not only ask whether the feature works visually.
Alex: Right. Review keyboard access, focus order, visible focus, contrast, form labels, error messages, status announcements, semantic HTML, and whether any ARIA used is actually needed and implemented correctly.
Jamie: Documentation has accessibility standards too, even if there is no widget involved.
Alex: Yes. Use clear headings, meaningful link text, useful alt text for images, plain instructions that do not rely only on color or position, and code examples that do not teach inaccessible patterns.
Jamie: Testing is where a lot of people either overtrust tools or feel like they have to test everything manually forever.
Alex: Automated tools are helpful, but they usually catch only about 30 to 40 percent of accessibility issues. They can flag missing alt text, some contrast failures, missing form labels, and certain ARIA mistakes. They cannot reliably tell whether alt text is meaningful, whether focus order feels logical, or whether an error message is actually helpful.
Jamie: So the remaining work is manual testing, but it can still be systematic.
Alex: Yes. Use the keyboard only. Check that focus is visible and moves in a sensible order. Zoom to 200 percent and 400 percent where relevant, check reflow, test contrast, listen with a screen reader when possible, and verify dynamic updates like saved messages or validation errors.
Jamie: The learning cards are useful here too. Different users will notice different risks first.
Alex: Exactly. Screen reader users may rely on find, landmarks, headings, and criterion numbers. Low vision users may focus on contrast, zoom, reflow, and readable tables. Sighted reviewers may scan examples and pattern demos, but still need to test with keyboard and structure, not just appearance.
Jamie: Before a pull request gets merged, what belongs on the accessibility checklist?
Alex: Check that images and icons have text alternatives when needed. Check that headings, lists, tables, and labels are coded as structure, not just styled to look that way. Check that color is not the only signal, contrast meets the relevant ratios, keyboard access works, focus order makes sense, focus is visible, status messages are announced, and ARIA is not being used to cover up avoidable HTML problems.
Jamie: And the review comment should include what was tested, not just a vague looks good.
Alex: Yes. A helpful review might say that keyboard navigation was tested, focus remained visible, form errors were announced, and contrast passed for the changed colors. If something fails, cite the criterion when you can and describe the user impact in plain language.
Jamie: For official references, the safest sources are the W3C WCAG 2.2 recommendation, WAI-ARIA 1.2, the WCAG Quick Reference, WAI tutorials, the ARIA Authoring Practices Guide, and tools like the WebAIM Contrast Checker.
Alex: That is also why the appendix connects each topic back to authoritative references. You do not have to carry the whole standard in your head. You need to know how to connect a real contribution, a real test result, and the standard that explains why the fix matters.
Workshop Content
Companion Podcast and Transcript
Use audio and transcript companions to review concepts in a conversational format.
Accessibility Standards Reference
Companion audio: this episode reinforces key ideas and may not be a word-for-word reading of this page.
Open audio file (external) Full transcript source (external)
Transcript preview
Alex: Welcome back. Today we're using Appendix M as a practical reference for accessibility standards: WCAG 2.2, ARIA, and the checks that belong in a pull request review.
Jamie: I like the word reference there, because standards can feel huge. Are learners supposed to memorize criterion numbers?
Alex: No. The useful habit is knowing where to look when a review mentions something like WCAG 1.4.3 or name, role, value. This appendix pairs especially well with the open source culture chapter and the VS Code accessibility chapter, because it turns accessibility values into reviewable requirements.
Jamie: So when a maintainer says the focus indicator does not meet WCAG, I do not panic. I look up the criterion, understand the requirement, and check the change against it.
Appendix M: Accessibility Standards Reference
Listen to Episode 20: Accessibility Standards Reference - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.
Reference companion to: Chapter 08: Open Source Culture | Also relevant: Chapter 12
Authoritative source: W3C WCAG 2.2 | WAI-ARIA 1.2
WCAG, ARIA, and What They Mean for Your Contributions
This appendix gives you a working understanding of the accessibility standards that govern the web, GitHub's interface, and the projects you will contribute to. You do not need to memorize these - use this as a lookup when a PR review mentions a specific standard or success criterion.
Table of Contents
- WCAG 2.2 - The Four Principles
- Conformance Levels: A, AA, AAA
- Key Success Criteria for Web Contributions
- ARIA - Roles, States, and Properties
- ARIA Landmark Roles
- Common ARIA Patterns
- How Standards Apply to GitHub Contributions
- Testing Against Standards
- Quick Reference: What to Check in a PR
- Official References
1. WCAG 2.2 - The Four Principles
WCAG (Web Content Accessibility Guidelines) is organized around four principles, often abbreviated POUR:
| Principle | Meaning | Example Failure |
|---|---|---|
| Perceivable | Information must be presentable to users in ways they can perceive | An image with no alt text - a screen reader user gets nothing |
| Operable | UI components and navigation must be operable | A button that only works on hover - keyboard users cannot activate it |
| Understandable | Information and operation must be understandable | An error message that says "Invalid input" with no explanation of what is wrong |
| Robust | Content must be robust enough to be interpreted by assistive technologies | Custom JavaScript widgets with no ARIA roles - screen readers cannot determine what they are |
Every WCAG success criterion belongs to one of these four principles.
Learning Cards: WCAG Overview
Screen reader users
- WCAG is organized around four principles: Perceivable, Operable, Understandable, Robust (POUR) — use this mnemonic when reviewing any PR
- Most projects target WCAG 2.2 AA — when a reviewer cites a criterion number like 1.4.3, search the tables in Section 3 of this appendix
- The WCAG Quick Reference (Section 10) is a filterable web page — use your screen reader's find command to jump to any criterion number
Low vision users
- The tables in this appendix use pipe-delimited Markdown — increase your editor font size or use a Markdown preview for cleaner column alignment
- WCAG 1.4.3 (contrast) and 1.4.11 (non-text contrast) are the criteria most relevant to your daily experience — bookmark them
- When checking contrast ratios, use the WebAIM Contrast Checker link in Section 10 with your browser zoom set to your preferred level
Sighted users
- The POUR table in this section is your one-glance cheat sheet — scan the Example Failure column to see what each principle looks like when violated
- Conformance level badges (A, AA, AAA) appear in the Level column of the Section 3 tables — AA rows are your primary targets
- Bookmark the ARIA Authoring Practices Guide link in Section 10 for live interactive pattern demos
2. Conformance Levels: A, AA, AAA
| Level | Requirement | Who targets this |
|---|---|---|
| A | Minimum accessibility - the baseline that removes the most severe barriers | Required by most accessibility laws |
| AA | Enhanced accessibility - removes significant barriers | Required by WCAG 2.2 compliance targets, most government and enterprise standards, GitHub's own accessibility commitment |
| AAA | Highest level - removes remaining barriers for the most niche cases | Not universally required; applied where feasible |
Most open source projects, and GitHub itself, target WCAG 2.2 AA compliance. When you file an accessibility bug or review a PR, AA is the standard to reference.
3. Key Success Criteria for Web Contributions
These are the criteria you will most commonly encounter when contributing to web projects or reviewing GitHub interface changes.
Perceivable
| Criterion | Level | What It Requires |
|---|---|---|
| 1.1.1 Non-text Content | A | All images, icons, and non-text content have a text alternative (alt attribute, aria-label, etc.) |
| 1.3.1 Info and Relationships | A | Structure conveyed visually (headings, lists, tables) is also conveyed programmatically |
| 1.3.2 Meaningful Sequence | A | Reading order makes sense when CSS is removed |
| 1.3.3 Sensory Characteristics | A | Instructions do not rely solely on shape, color, or position ("click the green button" fails this) |
| 1.4.1 Use of Color | A | Color is not the only means of conveying information |
| 1.4.3 Contrast (Minimum) | AA | Text has at least 4.5:1 contrast ratio against its background (3:1 for large text) |
| 1.4.4 Resize Text | AA | Text can be resized up to 200% without loss of content or function |
| 1.4.10 Reflow | AA | Content reflows at 400% zoom without horizontal scrolling |
| 1.4.11 Non-text Contrast | AA | UI components and graphical objects have at least 3:1 contrast |
Operable
| Criterion | Level | What It Requires |
|---|---|---|
| 2.1.1 Keyboard | A | All functionality is available via keyboard |
| 2.1.2 No Keyboard Trap | A | Keyboard focus can always be moved away from any component |
| 2.4.1 Bypass Blocks | A | A mechanism to skip repeated navigation (skip link) |
| 2.4.2 Page Titled | A | Pages have descriptive titles |
| 2.4.3 Focus Order | A | Focus follows a logical sequence |
| 2.4.4 Link Purpose | A | Link text describes the destination ("Read more about issues" not just "Read more") |
| 2.4.6 Headings and Labels | AA | Headings and labels describe their topic or purpose |
| 2.4.7 Focus Visible | AA | Keyboard focus indicator is visible |
| 2.4.11 Focus Appearance | AA (2.2 new) | Focus indicator meets minimum size and contrast |
| 2.5.3 Label in Name | A | For controls with visible labels, the accessible name contains the visible text |
Understandable
| Criterion | Level | What It Requires |
|---|---|---|
| 3.1.1 Language of Page | A | The default language is identified in the HTML (lang attribute) |
| 3.2.1 On Focus | A | Receiving focus does not trigger unexpected context changes |
| 3.2.2 On Input | A | Changing a setting does not cause unexpected changes unless the user is warned |
| 3.3.1 Error Identification | A | Input errors are identified and described in text |
| 3.3.2 Labels or Instructions | A | Labels or instructions are provided when user input is required |
| 3.3.3 Error Suggestion | AA | When an error is detected, suggestions for correction are provided |
Robust
| Criterion | Level | What It Requires |
|---|---|---|
| 4.1.1 Parsing | A | HTML/markup does not have errors that break AT interpretation |
| 4.1.2 Name, Role, Value | A | All UI components have accessible names, roles, and states that can be programmatically determined |
| 4.1.3 Status Messages | AA | Status messages (e.g. "item added to cart") are announced without receiving focus |
4. ARIA - Roles, States, and Properties
WAI-ARIA (Accessible Rich Internet Applications) fills the gap between what HTML natively expresses and what complex interactive widgets require.
Three categories
| Category | Purpose | Examples |
|---|---|---|
| Roles | What the element is | role="button", role="dialog", role="tab" |
| States | Current condition (can change) | aria-expanded="false", aria-checked="true", aria-disabled="true" |
| Properties | Stable characteristics | aria-label="Close dialog", aria-required="true", aria-describedby="hint-text" |
Important rules
- Don't use ARIA if native HTML suffices. A
<button>is already a button - addingrole="button"to a<div>is only needed when HTML semantics cannot be used. - All interactive ARIA widgets must be keyboard operable. Adding
role="button"means you must also handleEnterandSpacekeypresses in JavaScript. - ARIA only affects the accessibility tree. It does not add visual styling or behavior - it only changes what assistive technologies announce.
5. ARIA Landmark Roles
Landmarks let screen reader users jump directly to major sections of a page. GitHub uses these extensively; screen reader users navigate between them with D (NVDA/JAWS) or the Rotor (VoiceOver).
| Role | HTML Equivalent | Purpose |
|---|---|---|
banner |
<header> |
Site-wide header |
navigation |
<nav> |
Navigation links |
main |
<main> |
Primary page content |
complementary |
<aside> |
Supporting content |
contentinfo |
<footer> |
Footer with copyright, links |
search |
<search> |
Search functionality |
form |
<form> (with accessible name) |
A significant form region |
region |
<section> (with accessible name) |
A generic landmark with a label |
When multiple landmarks of the same type appear on a page, each should have a unique aria-label so screen readers can distinguish them. GitHub's Issues list page, for example, has multiple navigation regions each with distinct labels.
6. Common ARIA Patterns
Accessible Button (when <button> cannot be used)
<div role="button" tabindex="0" aria-pressed="false" onclick="toggle()" onkeydown="handleKey(event)">
Toggle
</div>
Accessible Form Field with Error
<label for="username">Username</label>
<input id="username" type="text" aria-describedby="username-error" aria-invalid="true">
<span id="username-error" role="alert">Username cannot be empty</span>
Live Region (status announcements)
<div aria-live="polite" aria-atomic="true">
<!-- Content inserted here is announced automatically -->
3 results found
</div>
Use aria-live="assertive" only for urgent interruptions (errors). Use "polite" for non-urgent status updates.
Expandable Section
<button aria-expanded="false" aria-controls="details-panel">
Show details
</button>
<div id="details-panel" hidden>
...content...
</div>
When expanded: set aria-expanded="true" and remove the hidden attribute.
7. How Standards Apply to GitHub Contributions
When you contribute to an open source project on GitHub, you will encounter accessibility in several contexts:
Filing an Accessibility Bug
Reference the specific WCAG criterion. This makes the bug actionable:
Bad: "The button isn't accessible."
Good: "The 'Subscribe' button has no visible focus indicator, failing WCAG 2.4.7 Focus Visible (Level AA). When navigating by keyboard, there is no visual indication of where focus is."
Reviewing a PR for Accessibility
Checklist for any PR that touches HTML or UI:
- Do new images have
altattributes? - Do new interactive elements work with keyboard only?
- Do new form fields have associated
<label>elements? - Are any new color-only indicators present?
- Does new dynamic content use
aria-liveif it updates without a page load?
Writing Accessible Documentation
Documentation in Markdown is converted to HTML. Accessible Markdown:
- Use heading levels in order (don't skip from H1 to H3)
- Write descriptive link text (not "click here")
- Add alt text to images:
 - Use actual lists (
-or1.) rather than faking them with symbols
8. Testing Against Standards
Automated Tools (catch ~30-40% of issues)
| Tool | Use |
|---|---|
| axe DevTools | Browser extension - run on any page, get WCAG violations with criterion references |
| WAVE | Browser extension or web service - visual overlay showing issues |
| Lighthouse | Built into Chrome DevTools - accessibility audit with scores |
| IBM Equal Access Checker | Enterprise-grade browser extension |
Manual Testing (catches the rest)
- Keyboard-only navigation - unplug your mouse; can you do everything?
- Screen reader walkthrough - navigate the feature with NVDA, JAWS, or VoiceOver
- 200% zoom - does content reflow without horizontal scrolling?
- High contrast mode - Windows High Contrast or macOS Increase Contrast; are all elements still visible?
- Disable CSS - does the content still make sense in reading order?
Learning Cards: Testing Against Standards
Screen reader users
- You are the manual test — automated tools catch only 30-40% of issues; your screen reader walkthrough catches the rest
- Install the axe DevTools browser extension (Section 8 table) and run it on any page; results are announced as a list of violations with WCAG criterion references
- When doing a keyboard-only navigation test, press Tab repeatedly and listen — every interactive element should announce its name and role
Low vision users
- The 200% zoom test (item 3) mirrors your daily experience — if content breaks at 200%, file a bug citing WCAG 1.4.4 Resize Text
- Windows High Contrast mode test (item 4) is one click: Settings, Accessibility, Contrast themes — switch and check that all UI elements remain visible
- The WAVE browser extension overlays icons on the page showing errors and warnings — zoom in to read the small annotation labels
Sighted users
- The Lighthouse accessibility audit (Chrome DevTools, Ctrl+Shift+I, Lighthouse tab) gives a 0-100 score — aim for 90+ on any page you contribute to
- For the keyboard-only test, unplug your mouse and try completing every action — watch for the blue focus ring moving logically through the page
- The automated vs. manual split (30-40% / 60-70%) means green CI checks do not guarantee accessibility — always pair tool output with a quick manual review
9. Quick Reference: What to Check in a PR
| Check | WCAG Criterion |
|---|---|
| New images have alt text | 1.1.1 |
| Heading levels are in order | 1.3.1 |
| Links have descriptive text | 2.4.4 |
| Interactive elements are keyboard accessible | 2.1.1 |
| Focus is visible on all interactive elements | 2.4.7 |
| Form fields have labels | 1.3.1, 3.3.2 |
| Error messages are descriptive | 3.3.1, 3.3.3 |
| Color is not the only indicator | 1.4.1 |
| Dynamic content updates use aria-live | 4.1.3 |
| New UI components have name, role, value | 4.1.2 |
10. Official References
| Resource | URL |
|---|---|
| WCAG 2.2 Full Specification | w3.org/TR/WCAG22 |
| WCAG 2.2 Quick Reference | w3.org/WAI/WCAG22/quickref |
| Understanding WCAG 2.2 | w3.org/WAI/WCAG22/Understanding |
| WAI-ARIA 1.2 Specification | w3.org/TR/wai-aria-1.2 |
| ARIA Authoring Practices Guide | w3.org/WAI/ARIA/apg |
| WebAIM Contrast Checker | webaim.org/resources/contrastchecker |
| MDN Accessibility | developer.mozilla.org/en-US/docs/Web/Accessibility |
| GitHub Accessibility | accessibility.github.com |
Next: Appendix N: Advanced Search
Back: Appendix L: Agents Reference
Teaching chapter: Chapter 08: Open Source Culture
Authoritative Sources
Use these official references when you need the current source of truth for facts in this chapter.
- GitHub Docs, home
- GitHub Changelog
- W3C Web Content Accessibility Guidelines (WCAG) 2 overview
- WAI tutorials for accessible design patterns
- WAI-ARIA Authoring Practices Guide
- GitHub accessibility statement
Section-Level Source Map
Use this map to verify facts for each major section in this file.
- WCAG, ARIA, and What They Mean for Your Contributions: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 1. WCAG 2.2 - The Four Principles: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 2. Conformance Levels: A, AA, AAA: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 3. Key Success Criteria for Web Contributions: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 4. ARIA - Roles, States, and Properties: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 5. ARIA Landmark Roles: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 6. Common ARIA Patterns: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 7. How Standards Apply to GitHub Contributions: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 8. Testing Against Standards: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 9. Quick Reference: What to Check in a PR: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide
- 10. Official References: GitHub Docs, home, GitHub Changelog, W3C Web Content Accessibility Guidelines (WCAG) 2 overview, WAI tutorials for accessible design patterns, WAI-ARIA Authoring Practices Guide