Resources
Accessibility Testing Tools
Firefox
Chrome
Safari
Internet Explorer
Bookmarklets (ALL Browsers)
- HTML_CodeSniffer
- Jim Thatcher's Favelets
- PaulJAdam's Bookmarklets for Accessibility Testing
- tota11y
- NC State Web Evaluation Tools Bookmarklet
- accessibility-bookmarklets.org
- ASLint
- The Visual ARIA Bookmarklet
- WAI-ARIA usage
Online Testing Tools
Color Contrast Testing
Continuous Integration (Automated Testing)
- AccessLint CI
- dequelabs / axe-core
- Unit Testing Accessibility
- dequelabs/axe-cli: A command-line interface for the aXe accessibility testing engine
- axe-core.org - Easy Accessibility Testing with aXe
Accessibility Testing Frameworks/Libraries on GitHub
- https://github.com/GoogleChrome/accessibility-developer-tools
- https://github.com/squizlabs/HTML_CodeSniffer
- https://github.com/dequelabs/axe-core
Accessibility Testing Tools Lists
macOS
Mobile Web
Mobile Native
- Google Accessibility Scanner - Android Apps on Google Play
- Auditing Your Apps for Accessibility (Xcode 8 Accessibility Inspector WWDC 2016 Video)
Mobile
- Mobile Accessibility: How WCAG 2.0 and Other W3C/WAI Guidelines Apply to Mobile
- Guidance on Applying WCAG 2.0 to Non-Web Information and Communications Technologies (WCAG2ICT)
- BBC Standards and Guidelines for Mobile Accessibility
- GitHub - appt-org/accessibility-code-examples: Accessibility code examples for Android, iOS, Flutter, React Native and Xamarin apps
Apple iOS Accessibility Resources
- VoiceOver for iOS Overview with Screenshots
- iPhone User Guide
- Accessibility on iOS Overview with Screenshots
- VoiceOver iOS 9 User Guide in Plain HTML
- VoiceOver Keyboard Commands
- VoiceOver Gestures
- VoiceOver iOS Gesture/Keyboard Commands & Apple Accessibility Resources
- Accessibility features in macOS and iOS that everyone should try | Macworld
Native iOS Developer Resources
- Accessibility for iOS Developers
- GitHub - dequelabs/Deque-University-for-iOS
- Auditing Your Apps for Accessibility - WWDC 2016
- What's New in Accessibility - WWDC 2016
- Implementing Accessibility for a Custom Control in the Wikipedia iOS App
- UIKeyCommand - NSHipster
- Creating A Delightful User Experience with iOS Keyboard Shortcuts
- SwiftUI Accessibility
- iOS developer guide - Orange digital accessibility guidelines
- iOS Accessibility in SwiftUI Tutorial Part 1: Getting Started | raywenderlich.com
Google Android Accessibility Resources
- Accessibility shortcut Hold Power Button Then Two-Finger Tap + Hold
- Android accessibility features
- Android Accessibility Help Center
- Change TalkBack settings
- Global and local context menus in TalkBack
- Keyboard shortcuts in Chrome for Android
- TalkBack Gesture Commands
- TalkBack Keyboard Shortcuts
Native Android Developer Resources
- Accessibility | Android Developers
- Designing Android Apps For Vision Impaired Users
- Designing alternative interfaces: a Tweet view with custom actions
- GitHub - dequelabs/Deque-University-for-Android
- GitHub - google/Accessibility-Test-Framework-for-Android
- Accessibility - Usability - Google design guidelines
- Android App Accessibility Checklist
- How to Earn an “A” for Android Accessibility
- Android developer guide - Orange digital accessibility guidelines
- Google Codelabs - Basic Android Accessibility: making sure everyone can use what you create!
- Android Accessibility — Resolving common Talkback issues | by Sigute | Microsoft Mobile Engineering | Medium
HTML4 Web Accessibility Basics
- Basic Table
- How to structure headings for web accessibility | Humanising Technology Blog
- Headings for HTML Document Structure and Accessibility Navigation
- 10 Accessibility Tips
Image Alt Text and Long Descriptions
- Guidelines for Writing Alt Descriptions and Long Descriptions
- Lecture on Images Part 3: How to Write Short Text Alternatives
- Informative Images • Images • WAI Web Accessibility Tutorials
JavaScript
- Accessibility of JavaScript - Web Design References: JavaScript
- JavaScript Alert(), Confirm(), & Prompt() Native Popup Dialogs
- haltersweb.github.io Accessibility Code Library
- Sortable Data Table Widget
- Adobe's Accessible Mega Menu
- Input type="date" polyfill (date picker) - Working examples - Web Experience Toolkit
- Angular Material - Demos > Dialog
- Drag and Drop
- Accordion Example
- Sortable Data Table, Data Grid Examples | WAI-ARIA Authoring Practices 1.1
- DatePicker with Accessibility
- Accessible Drag and Drop Examples - salesforce-ux
- 4 Major Patterns for Accessible Drag and Drop – Salesforce UX – Medium
- GitHub - atlassian/react-beautiful-dnd: Beautiful and accessible drag and drop for lists with React
react
Forms
- Input Error Notification with aria-live=assertive and aria-invalid using jQuery
- Using ARIA Live Regions or role=alert to Identify Errors
- Simple Form Validation Using WAI-ARIA aria-describedby, aria-required, aria-invalid, & jQuery .focus()
- WAI-ARIA vs. Native Checkbox
- Check Box Widget
- Accessible Mobile Forms & Error Validation with HTML5, WAI-ARIA, & jQuery +(mobile)
- HTML5 Input Types Demo
- Demo Form with HTML5, WAI-ARIA, & jQuery Validation (Tweaked Settings)
- Grouping Controls <fieldset> <legend> • Forms • WAI Web Accessibility Tutorials
- Help users checkout faster with Autofill
- Advanced styling for HTML forms - Learn web development | MDN
WAI-ARIA
- Accessible Rich Internet Applications (WAI-ARIA) 1.1
- WAI-ARIA Authoring Practices 1.1
- WAI-ARIA Landmarks Site Navigation Structure Demo
- Allowed ARIA roles, states and properties - ARIA in HTML
- WAI-ARIA Taxonomy SVG diagram (description)
- Periodic Table of ARIA 1.0 Roles
- Auto Complete Search
- Accessible Autocomplete
- Accessible jQuery UI Autocomplete
- ARIA in HTML
- Notes on Using ARIA in HTML
- WAI-ARIA Tab Panel
- WAI-ARIA aria-expanded Indicating State to Screen Readers
- WAI-ARIA Detail Message Dialog
- Web applications and ARIA FAQ - Accessibility | MDN
- A11y Support Series, Part 1: ARIA Tab Panel Accessibility
- How to Build WAI-ARIA Modal Alert Dialogs: A11y Support Series (Part 2)
- Building Accessible Buttons with ARIA: A11y Support Series (Part 3)
- Accessibility Object Model
- ARIA tabs widget Example
- ARIA Example: Vertical Slider and Sliders using aria-valuetext
- Accordion Example | WAI-ARIA Authoring Practices 1.1
- General Principles: ARIA Landmarks Example - W3C
- ARIA AJAX Chat Room Example
- Accessible Autocomplete examples
Keyboard
- Keyboard-navigable JavaScript widgets - Accessibility | MDN
- Keyboard Accessibility with the Space Bar | :last-child
- Mac keyboard shortcuts for accessibility features - Apple Support
- OS X Human Interface Guidelines: Keyboard Shortcuts
- Anchors, Buttons, and Accessibility
- Display Title Attribute on Keyboard Focus
- HTML accesskey Attribute
CSS
- Demo: prefers-reduced-motion media query
- Responsive Design for Motion
- How to Keep Your CSS Grid Layouts Accessible
HTML5
- HTML5accessibility.com
- HTML5 Elements test page
- Input Type Range
- range.css - generate styles for your HTML5 range inputs
- HTML5 Forms: Examples of Element Types and Attributes | Wufoo
- HTML5 input types test page
- New Elements in HTML5
Desktop Screen Readers
NVDA for Windows
JAWS for Windows
VoiceOver for macOS
Tutorials
- WebAIM
- WAI Web Accessibility Tutorials
- The Accessibility Project
- Teach Access Tutorial - Introduction to accessibility concepts for the Web
- Google Accessibility Web Fundamentals
- A Practical Starter Guide on Developing Accessible Websites
Demos & Code Examples
Before & After A11y Demos
- Accessible University 3.0
- W3C BAD - Before and After Demo
- Acme Widgets - Exploring the usability and accessibility of widgets
- Lulu’s Lollipops website (Bad A11y Demo)
Accessible Widgets & Pattern Libraries
Accessible Web Component User Interface Libraries
Frameworks
Presentations
- New Zealand Government WEB A11Y TRAINING 2016 Jason Kiss
- Accessibility is My Favorite Part of the Platform - Google I/O 2016 (YouTube Video)
- Advanced ARIA
Blogs
- Deque Blog
- Marco's Accessibility Blog – Helping to make accessibility accessible on the web and elsewhere
- Paciello Group Blog
- Accessibility Wins
- WebAxe Blog and Podcast
- WebAIM Blog
- chrishofstader.com
- adrianroselli.com
- www.last-child.com
- http://tink.uk
Training
- Web Accessibility Events | Deque Webinars and Training
- Accessibility Courses
- Develop Accessible Web Apps with React
Accessible Code Editors
Checklists
- WCAG 2.0 Level A, AA, AAA Dynamic Checklist HTML
- WebAIM's WCAG 2.0 Checklist
- WCAG 2.0 Success Criteria Checklist
- Section 508 VPAT
- WCAG 2.0 AA Accessibility Testing Checklist iCloud
Accessibility Reporting
- Numbers macOS WCAG 2.0 AA Accessibility Report Spreadsheet Template
- Accessibility Statement Generator
Conferences
Community & Discussions
- WebAIM Email List
- #a11y hashtag on Twitter
- Accessibility Meetups
- Apple Accessibility-dev Mailing List
- w3c/a11ySlackers - Gitter
WCAG 2.1
- Techniques for WCAG 2.0
- Failures for WCAG 2.0
- How to Meet WCAG 2.0 Quickref
- Developing an Accessibility Statement | Web Accessibility Initiative (WAI) | W3C
Laws & Regulations
- Statement Regarding Rulemaking on Accessibility of Web Information and Services of State & Local Government Entities
- SANPRM - Nondiscrimination on the Basis of Disability; Accessibility of Web Information and Services of State and Local Government Entities
- Web Accessibility Laws and Policies | Web Accessibility Initiative (WAI) | W3C
Bug Reporting
- Report Bugs | Android Open Source Project
- Apple Bug Reporter
- NVDA Issues
- Chromium bug tracker
- Microsoft Edge & Internet Explorer Issue Tracker
- Bugzilla@Mozilla
- Webkit bugzilla
- Steve Faulkner’s filing bugs tutorial
E-Learning, HigherEd, Distance Education
- Web Accessibility for Online Courses
- Accessible U | Design for all people. All devices.
- The Training Manager’s Guide to Accessible Elearning - Microassist
Design
- XD Essentials: Button Design Best Practices | Creative Cloud blog by Adobe
- Accessibility Basics: Designing for Visual Impairment
- Accessibility - Usability - Material design guidelines
- Accessibility & Material Design
- An inclusive design workflow for product teams | by Scott Vinkle | Shopify UX
Newsletters
Video - Captions & Audio Descriptions
- Apple iPhone 6s Ad with Audio Description Track
- HTML5 Video Accessibility Demo
- Closed Captions & Audio Description Tracks .mov Demo
- Frozen - Trailer with Audio Description - YouTube
- Inclusive Presentation Skills (audio described version) - YouTube
- Subler is an Mac OS X app created to mux and tag mp4 files.
- Using HTML5 and Javascript to Deliver Text-Based Audio Descriptions
- Apple Events - September 2020 - Apple
- Apple – Accessibility – Sady (with Audio Descriptions)
- Apple Events - November 2020 - Apple (Enable Audio Descriptions in Accessibility System Preferences)
Resource Collections
- Digital accessibility resources / Ressources au sujet de l'accessibilité numérique
- Digital Accessibility Resources • Digital A11y
- CivicActions Accessibility
Virtual Machines (Testing Windows On Mac)
SVG - Scalable Vector Graphics
Maps
- Accessible Maps on the Web - Thomas Logan
- Demo: Accessible Maps on the Web - Finding Accessible Pedestrian Signals in NYC
Accessibility Program Implementation Strategy
- Creating a culture of accessibility | Dropbox Tech Blog
- Accessibility for teams | Web | Google Developers
Math
- Hawkes Learning | Accessibility | MathML Best Practices | Content
- Deep Learning for Siri’s Voice: On-device Deep Mixture Density Networks for Hybrid Unit Selection Synthesis - Apple
- MathML in Chromium
- Freedom Scientific MathML Examples
- MathML polyfill - Working examples - Web Experience Toolkit
- Design Science MathPlayer™ 4 works with NVDA screen reader to speak and Braille math content in Internet Explorer and Firefox.
- Desmos | Graphing Calculator
Cognitive Accessibility
- Cognitive accessibility - Accessibility | MDN
- WebAIM: Evaluating Cognitive Web Accessibility
- Making content usable for people with cognitive and learning disabilities
Accessibility Guidelines
- Create Accessible Content | Digital Accessibility
- 18F Accessibility Guide
- Accessibility – Carbon Design System
- Visa Accessibility - Visa Global Accessibility Requirements
- Expedia Accessibility Guidelines (ExAG)
- Verify overview – IBM Accessibility
- Authentically reflecting Disabled People - Google All In
Design Systems
- Meet Spectrum, Adobe’s design system
- React Aria - A library of React Hooks that provides accessible UI primitives for your design system.
- Duet Design System
- U.S. Web Design System (USWDS)
Accessible Events
- Accessible Conference Guide | SIGACCESS
- Accessible Meeting and Event Checklist | Accessibility Information
- Ensuring Accessibility During the Return of In-Person Events – And Why We Should Keep Doing Accessible Virtual Events
- Event Accessibility Starter Guide
- Create Accessible Meetings | Section508.gov
- Ways to make meetings accessible