April 21, 2021 at An Event Apart Spring Summit
The following resources are structured similarly to the talk outline.
Operating System | Accessibility API |
---|---|
Android | Various APIs in android.view.accessibility, e.g. AccessibilityNodeInfo |
Chrome OS | Proprietary API closely related to Chromium’s internal accessibility API |
Linux/Gnome | User apps: Accessibility Toolkit (ATK). Assistive tech: Assistive Technology Service Provider Interface (AT-SPI) |
MacOS, iOS | NSAccessibility (AXAPI) |
Windows | Microsoft Active Accessibility + IAccessible2 (MSAA + IA2) or UI Automation (UIA) |
- Accessible Name and Description Computation
- Core AAM
- Digital Publishing AAM
- Graphics AAM
- HTML AAM
- SVG AAM
- Chromium: Element not exposed to accessibility tree when it is set to display: contents
- Tweet thread on Webkit's list-style heuristics
- Exposing attributes that do not directly map to accessibility API properties: cheatsheet to identify items that might take longer for assistive tech to pick up (same in HTML AAM)
- How to visually hide content
- IA2: IAccessibleText
- NSAccessibility > "Configuring Text Elements" section
- UI Automation Support for Textual Content
- Android AccessibilityEventSource
- Core AAM: Events
- IA2EventID
- MSAA: WinEvents and Active Accessibility
- NSAccessibility notifications
- UI Automation Events
- Accessibility Insights
- ARC Platform
- axe Tools
- Lighthouse
- Tenon
- WAVE (Web Accessibility Evaluation Tool)
- Webhint
- Web Accessibility Evaluation Tools List
- WebAIM Million
- WebAIM surveys and other projects
- A11y Project Checklist
- Dragon speech recognition tools (check out Accessible Text Labels For All for thoughts on naming elements for speech recognition access)
- Emulate vision deficiencies
- forced-colors
- How to Meet WCAG (Quick Reference)
- prefers-color-scheme
- prefers-contrast and Styling for Windows high contrast with new standards for forced colors
- prefers-reduced-motion
- prefers-reduced-transparency
- The Importance Of Manual Accessibility Testing
- Testing with Screen Readers
- Web Accessibility Perspectives: gives some quick tips on what to think about for particular scenarios
These suggestions are largely based on common pairings from the WebAIM screen reader user surveys, and anecdotal knowledge about accessibility API support. This is not a fully exhaustive list, so there are other valid combinations you might want to test. Screen reader names are linked to user docs.
Operating System | Browser | Screen Reader |
---|---|---|
Android | Chrome | Talkback |
MacOS, iOS | Safari | VoiceOver |
Windows | Chrome | JAWS |
Windows | Microsoft Edge | Narrator |
Windows | Firefox | NVDA |
Windows | Internet Explorer | JAWS |
- JAWS: purchase a license for JAWS (User docs under "Documentation"). Download latest version of JAWS.
- NVDA: download NVDA for free, but consider making a donation. NVDA user docs
- Narrator: comes pre-installed on Windows. Narrator user docs
- Talkback: comes pre-installed on Android. Talkback user docs
- VoiceOver: comes pre-installed on MacOS, iOS. VoiceOver user docs, VoiceOver on iOS user docs
- Windows Virtual Machines (VMs)
Handy cheatsheets: Screen Reader Keyboard Shortcuts and Gestures (some commands may differ based on your screen reader's current configuration; check the user docs if something isn't working)
- Read line by line
- Read continuously from a point
- Jump by headings, landmarks, and links
- Search the page
- Interact with tables using table commands
- Jump by form field
- Interact with all interactive elements
- Testing any changes in content or context
- ARIA in HTML
- ARIA Specification
- Accessible Name and Description Computation
- Core AAM
- Digital Publishing AAM
- Graphics AAM
- HTML AAM
- HTML Living Standard
- SVG AAM
- Using ARIA
- Chrome DevTools: Accessibility features reference
- Microsoft Edge (Chromium) DevTools: Accessibility reference
- Firefox Accessibility Inspector
- Safari Webkit Audits
- Safari Webkit Node Inspector (may be outdated)
- Accessibility Insights for Windows: for UIA Automation
- AccProbe for MSAA + IA2
- Testing for Accessibility on OS X for AXAPI (a little outdated but should still be pretty accurate; refer also to these WWDC videos)
- Apple Accessibility Support Communities
- Chromium accessibility bugs (all Chromium-based browsers, including MS Edge)
- Gecko accessibility bugs
- Google accessibility
- JAWS / VFO accessibility bugs
- Microsoft Disability Answer Deck
- NVDA bugs
- Webkit accessibility bugs
- 24 Accessibility
- A11y Project Resources
- A11y Style Guide
- Accessibility enables resilience
- Accessibility Object Model: explainer
- Accessibility on iOS
- Adrian Roselli's blog
- An adventurer’s guide to W3C specs
- ARIA Authoring Practices
- The Business Case for Digital Accessibility
- Custom Control Accessible Development Checklist
- Deque University
- Eric Bailey's blog
- HTML5 Accessibility
- Inclusive Components
- Inclusive Design Principles
- Marco Zehe's blog
- Marcy Sutton's blog
- Microsoft: Inclusive Design
- Sarah Higley's blog
- Scott O'Hara's blog
- Tink (Leonie Watson's blog)
- W3C Web Accessibility Initiative: Accessibility Fundamentals Overview
- WebAIM Articles
- Web Content Accessibility Guidelines (WCAG) 2.2
- Chromium: Accessibility Technical Documentation
- Chromium: Accessibility Overview
- Gecko/Mozilla Accessibility
- Webkit blog: accessibility
- Keeler Oak Tree - distance photo by Msact
- Scarlet Oak in Oakwood Park, N14 by Christine Matthews
- Selective Focus Photography of Green Fern Plant by Avinash Patel
- Photo of Snow Field Near Trees by Burak K
- Sakura Tree by Oleg Magni
- Trees With Pathway by Felix Mittermeier
- Bamboo Tree by Alexandr Podvalny
- Dragon made of tyres in yard by Ryutaro Tsukata