This document explains the general concepts encountered in the world of accessibility.
WAI-ARIA stands for Web Accessibility Initiative - Accessible Rich Internet Applications. ARIA defines semantics (HTML attributes to express application structure state), behavior requirements and more.
- Accessible Rich Internet Applications (WAI-ARIA) 1.0
- Accessible Rich Internet Applications (WAI-ARIA) 1.1
- WAI-ARIA 1.0 Authoring Practices
- WAI-ARIA 1.1 Authoring Practices
- Notes on Using ARIA in HTML
- Core Accessibility API Mappings 1.1
- Accessible Name and Description: Computation and API Mappings 1.1
- SVG Accessibility API Mappings
The Accessibility Tree (often abbreviated "AT", which may be ambiguous as it is also used to abbreviate "Assistive Technology") is an object structure much like the DOM, but with a different focus and purpose. The AT is invisible to web applications and is generated from the DOM. In a way the AT is a view of the DOM that only shows the semantically significant structure.
- Accessibility APIs: A Key To Web Accessibility
- The Browser Accessibility Tree
- Mozilla accessibility architecture
Sequential navigation focus order
The Sequential Navigation Focus Order, also referred to as the Tabbing Order or tabsequence, is an ordered list of all keyboard focusable elements in a document. Unless elements are moved to the front of the list by specifying a positive
tabindex attribute such as
tabindex="1", the tabbing order usually correlates to the DOM order. Users can usually navigate to the next and previous element in the list by pressing the Tab and Shift Tab keys respectively.
Assistive technologies such as screen readers may provide their own cursor to indicate the element a user is currently focused on. The element that cursor is pointing to is said to have virtual focus. Web applications have no knowledge of this cursor existing, let alone what it is pointing to. In other words the CSS pseudo-class
:focus does not indicate the virtual focus, nor does any other CSS pseudo-class. The virtual focus usually follows the "real" focus. This means that should a script focus an element (thereby making it the activeElement), the virtual focus of the screen reader will also be set to that element.