Page MenuHomePhabricator

Prepare AFB accessibility audit on selected Codex components
Closed, ResolvedPublic8 Estimated Story Points

Description

Background

While we've been putting years of learning from components in production (OOUI), user feedback on large scale and newest best-practices (ARIA Authoring Practices Guide, short APG) into place for Codex components development, there are a small number of vague corners that would benefit from real-user testing on our newer component suite.

Goal

Evaluate these areas with help of American Foundation for the Blind (AFB).
We are not only interested in technical implementation details, but also in user flow for people with different assistive technology (e.g. keyboard flow, verbosity in screenreaders…) to optimize their experience.

Components in question

Must-haves for a consultation:

  • ButtonGroup: keyboard handling satisfying – should arrow keys be considered? T314446
  • Dialog: Are our approaches and assumptions for keyboard/AT flows correct? Originally captured in T344178
    • Add aria-modal="true" to the role="dialog" element.
    • Focus on initial dialog open should work in a predictable way.
    • Putting dialogs at end of body on above behalf
    • Users should not be able to interact with content behind the dialog when open.
    • Remain with aria-hidden="true" for its wider support than only aria-modal on background elements incl script
    • Add inert as future-facing attribute for non-interactable background elements as well
    • The user always has a way to exit the dialog using keyboard navigation.
  • Combobox, Lookup, Select and TypeaheadSearch: keyboard handling satisfying? ARIA exposure clear?
  • Field: Questions on the component and its various features with a variety of inputs and input groups.
    • A Field with a label, description, and help text, a single input, and error handling/error message. Does the focus handling, the keyboard handling and the markup and ARIA markup, specifically around error interaction work sufficiently?
    • A Field that's a fieldset with a radio group
    • A Field that's a fieldset with two inputs (see the examples on the Field page)
  • Menu: Verify our approaches T343275 & T344538 and also T324794: Consider changing handling of space key for menu components
  • Tabs:

Consider:

Visual design questions:

  • Several components: Disabled components are not strictly applying the contrast ratio requirements for ambiguous guidance in the WCAG. What is the best practice here?
    • Disabled buttons
    • Disabled Chip
    • Disabled selected Checkbox
    • Disabled selected Radio
  • TextInput/TextArea
    • For controls without text (if there is no placeholder within the input) the border contrast needs to be 3:1. Since the color used, border-color-base (#a2a9b1), contrast is less than 3:1, what are the recommendations to fix here?
  • ButtonGroup
    • Border and the background of each button inside ButtonGroup have a contrast ratio of 2.25:1. Might this be a concern with determining the bounds of what is interactive for each individual button?

Acceptance criteria

Event Timeline

Volker_E renamed this task from Accessibility testing audit on selected components to Accessibility testing on selected Codex components.Nov 2 2023, 8:41 PM
Volker_E renamed this task from Accessibility testing on selected Codex components to Accessibility audit on selected Codex components.
Volker_E updated the task description. (Show Details)
Volker_E updated the task description. (Show Details)

I would also suggest we test the Field component and its various features with a variety of inputs and input groups. If we need to limit this, I'd suggest:

  • A Field with a label, description, and help text, a single input, and error handling/error message
  • A Field that's a fieldset with a radio group
  • A Field that's a fieldset with two inputs (see the examples on the Field page)

I think we should also add keyboard handling in non-Select menus (Lookup, Combobox and TypeaheadSearch). The handling of arrow keys etc is very similar, but the handling of typing characters is obviously very different. We think of these being the same because they both use the Menu component, but to users they might not necessarily appear as related.

CCiufo-WMF renamed this task from Accessibility audit on selected Codex components to AFB accessibility audit on selected Codex components.Nov 3 2023, 2:33 PM
CCiufo-WMF moved this task from Inbox to Needs Refinement on the Design-System-Team board.
Catrope set the point value for this task to 5.Nov 6 2023, 6:19 PM
Catrope moved this task from Needs Refinement to Up Next on the Design-System-Team board.

Also, maybe we could have them test the Tabs component as well. I don't think we have a lot of specific questions/concerns here other than "did we do this right?", so maybe it's a bit lower priority than Dialog/Menus, but there's a lot of ARIA stuff we had to do there so I'd like to have them look at it.

ChipInput also comes to mind as a component where we were very uncertain about how to handle a11y, and we weren't able to find great prior art for it. I think this should be relatively high priority for that reason.

Finally, I think it might be interesting to have them look at the Accordion component. That one is simpler and probably the lowest priority.

Huge +1 for Tabs and ChipInput

CCiufo-WMF changed the point value for this task from 5 to 8.

@Volker_E when I worked on T337959: Accessibility audit: check the contrast ratio in our Codex components, I collected some other contrast issues that we could also include in this task (find all them in this table).

The components with the highest priority to fix are:

  1. TextInput/TextArea (default state’s border): For controls without text (if there is no placeholder within the input) the border contrast needs to be 3:1. Since the border-color-base contrast is less than 3:1, we need to increase it.
  2. Red link within messages or within gray boxes: Red link within success, error or warning messages or within gray boxes is less than 4.5:1 contrast.
  3. ProgressBar: The boundary between bar and background is just 2.37:1.
Volker_E updated the task description. (Show Details)
Volker_E updated the task description. (Show Details)
Volker_E updated the task description. (Show Details)

The outcomes of the coming evaluation is going to be captured in follow-up tasks.

Volker_E renamed this task from AFB accessibility audit on selected Codex components to Prepare AFB accessibility audit on selected Codex components.Jan 18 2024, 8:21 AM