Button
Web Component
Accessibility
Keyboard Navigation
Key | Function |
---|---|
Tab | Moves focus to the next focusable element |
Shift + Tab | Moves focus to the previous focusable element |
Enter ,Space | Activates the button |
For comprehensive details on keyboard support for buttons, refer to our Keyboard Control Guide.
Visit WebAIM for keyboard techniques.
Find live examples in the A11y style guide.
Roles and attributes
Below are some key considerations to ensure that our components are fully accessible in various scenarios within your interfaces. These points outline the necessary roles and attributes to keep in mind.
Attribute | Element | Usage |
---|---|---|
aria-label | div | Specifies a textual value used to label an interactive element. This attribute is mandatory for buttons lacking textual content. |
aria-labelledby | div | The attribute aria-labelledby designates the element or elements responsible for labeling the applied element. It is essential for buttons lacking text content. |
Resources
- W3 Button Example: Contains comprehensive details regarding the accessibility behavior of the button.
- A11y Style Guide: Gives core recommendations for accessible buttons.
- Mozilla Resources for Developers: Find examples of accessible buttons.
Other recommendations
Explore additional accessibility tips in the general Accessibility Guide.
WCAG 2.2 Guidelines
- Non-text Content: All non-text content that is presented to the user has a text alternative that serves the equivalent purpose. (Level A)
- Info and Relationships: Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text. (Level A)
- Headings and Labels: Headings and labels describe topic or purpose. (Level AA)
- Labels or Instructions: Labels or instructions are provided when content requires user input. (Level A)
- Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies. (Level A)