-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
Check for duplicates
- I have searched for similar issues before opening a new one.
Problem
ARIA defines roles, states, and properties. These expose information to a browser's accessibility API, which sets which information is exposed to the user through their screen reader when they move to an individual DOM element.
This issue does not include:
- Keyboard navigation (how to move from one field to another)
- "Announcing" (describing where an element is within the larger context of the workspace or page)
Request
For each field in core Blockly:
- Apply the correct ARIA roles and properties to the DOM elements that represent the field
- Provide accessible names and descriptions to the DOM elements that represent the field
- Make sure the field works both during editing and during display (not editing)
Sub-issues:
- ARIA for checkbox fields #8206
- ARIA for dropdown fields #8210
- ARIA for image fields #8255
- ARIA for text input fields #8211
- ARIA for label fields #8254
- ARIA for number input fields #8212
- ARIA for variable fields #8213
Keyboard shortcuts
We will want to support the correct keyboard shortcuts for moving into and out of editing mode when on a single instance of the field (e.g. enter, space, and esc). This work may land in the keyboard nav experimentation code or in core during development, and will likely require refactoring after a period of experimentation.
Describing the correct keyboard shortcut behaviour is a part of the work tracked in this bug, although implementation may not be.
In addition, we will need to provide APIs as needed for custom fields to support shared keyboard shortcuts (enter, space, escape).
Alternatives considered
No response
Additional context
This is a parent issue for ARIA in fields. Information related to individual fields, such as discussion of the correct behaviour for a specific field, should be tracked in sub-issues.
Information related to all fields can be tracked here.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status