Checklist
Based on WCAG 2.1 (Web Content Accessibility Guidelines)
(What WCAG calls "programmatically determined" I opted to call "defined in markup" instead to highlight that important information needs to be explicitly defined in markup to be available to assistive devices, namely screen readers)
- [ ] Make info, structure, and relationships defined in markup
- [ ] Make an intuitive sequence defined in markup
- [ ] Make the human language defined in markup
- [ ] Make the purpose of UI components defined in markup
- [ ] Make the name, role, and value of all UI components defined in markup
- [ ] Make status messages defined in markup (use attribute tabindex="-1")
- [ ] Make sure that assistive tech can parse content
- [ ] Make all functionality available through the keyboard
- [ ] Make sure there are no keyboard traps
- [ ] Provide a way to turn off character key shortcuts
- [ ] Make multiple types of input available
- [ ] Preserve focus order
- [ ] User hover and focus best practices
- [ ] Ensure that focus does not change context
- [ ] Ensure that focus indicator is visible
- [ ] Label user input fields