Skip to content

Commit fb94c83

Browse files
authored
Improve screen reading guidelines
1 parent 4703447 commit fb94c83

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

docs/contributors/check-accessibility.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ For a more thorough test, you need these shortcuts:
109109
- Focus moves from one element to the next in a logical order
110110
* In most of our apps, that usually means sidebar (if open), then body; and top to bottom, left to right (or right to left for RTL languages such as Arabic or Hebrew).
111111
- Focus moves to dialogs when opened, and returns to the trigger when closed
112+
- When a dialog opens, focus moves to the dialog
113+
- When a dialog closes, focus moves back to the element that triggered the dialog
112114
- Dialogs close by hitting the {kbd}`Escape` key
113115
- If an element doesn't have a visible label but does have a tooltip on hover, the tooltip should also be visible on focus
114116

@@ -151,17 +153,16 @@ You can find further guidance in the [screen reader documentation](https://docum
151153

152154
- All interactive elements (buttons, fields, links…) have a label and a role that is read out loud by the screen reader
153155
* Roles explain the function of the component ("button", "search box", "link"). Check [GTK roles](https://docs.gtk.org/gtk4/enum.AccessibleRole.html).
156+
- All labels are descriptive, meaningful and concise
154157
- All labels are unique, unless they trigger the exact same action.
155-
* For example, if there's a single share button, it can be labeled "Share". But if there's more than one "Show" button, you should specify what it refers to: for example, "Show description", "Show gallery".
156-
- All labels are short, descriptive and meaningful
157-
* Take context into account: if you are on an app page, the share button should be labeled "Share", not "Share this app" or "Share [app name]": it's generally redundant with the page title/headings.
158+
* For example, if there's more than one share button, each label should mention what it refers to ("Share [item name 1]", "Share [item name 2]")
158159
- All pages have a meaningful title or main heading
159160
- All section headings are unique and meaningful
160-
- When changing to a new page, either page title or the main heading is announced (whichever is more meaningful)
161-
- Errors are either announced or readable with the screen reader
161+
- When changing to a new page, either the page title or the main heading is announced (whichever is more meaningful)
162+
- Errors are announced and readable with the screen reader
162163
- For images that are not strictly decorative, provide alternative text that can be read out loud by the screen reader
163164
* Get guidance on how to write good alternative text in the [Vanilla content guidelines](https://vanillaframework.io/docs/content-guidelines#alt-text-for-images)
164-
- For audio or video content, provide text alternatives (for instance, transcriptions or captions)
165+
- All visual content in videos is [described](https://www.w3.org/WAI/media/av/description/) by a narrator, in the transcript, or in adjacent text.
165166

166167

167168
## Check additional accessibility
@@ -176,8 +177,9 @@ Besides the more common checks above, you should also keep in mind these:
176177
- All interactive elements have a width and height of at least 24px, or have [sufficient space around them](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html).
177178
- Large interactive elements have at least 24px of either vertical or horizontal spacing
178179
* If interactive elements are too close, users might activate them by accident, for example when [scrolling on touch screens](https://axesslab.com/hand-tremors/).
179-
- Audio that lasts more than 3 seconds does not play automatically
180-
- Audio that lasts more than 3 seconds can be paused or muted
180+
- Audio or video that lasts more than 3 seconds does not play automatically
181+
- Audio or video that lasts more than 3 seconds can be paused or muted
182+
- Provide text alternatives (for instance, transcriptions or captions) for audio and video content
181183

182184

183185
## Look for user feedback

0 commit comments

Comments
 (0)