[META] improve accessibility of toolbar

Created on 29 September 2019, over 5 years ago
Updated 9 January 2024, about 1 year ago

Toolbar module has a number of accessibility issues. Some of these may be addressed individually in child issues, but it will be a good idea to consider them holistically.

Known problems

Visual design

  • πŸ› Active toolbar tray has weak affordance and fails WCAG color criteria Needs work
  • #3097905: Add visual indicator to show which toolbar buttons have trays associated with them β†’
  • Confusing visual focus order. MAJOR. Visually, the top level toolbar has some buttons which appear on the right hand side (e.g. edit, tour). The DOM order differs from the visual presentation, so focus order jumps around in a way that's confusing for sighted users. Effectively a failure of WCAG success criterion 2.4.3 Focus Order (level A). Aim to find an order which is usable by screen reader users and sighted users. #3167438: Presentation of some toolbar buttons differs from DOM order β†’
  • Missing icons in Windows high-contrast mode. πŸ› Toolbar icons may not meet contrast when in forced colors mode Active The icons are CSS background images, which don't work when a Windows' high-contrast theme is enabled. Internet Explorer and Firefox both strip CSS background images out, but Edge displays them. (Other browsers don't respect Windows high-contrast mode at all, which is something beyond our control). This issue can be addressed by using an alternative technique such as inline <img>/ <svg>, or the CSS content property.

    However some buttons are badly broken, because visually they are just an icon. When the icon is missing users can't perceive or understand the button:

    • Many cases are OK, because the icon is accompanied by a visible text label. When the icon is missing, the link or button is still perceivable because the text label remains. It would be better if the icons weren't missing.
    • Switch toolbar orientation. Visually this is just an icon. In high-contrast mode, when the icon is missing, users may be completely unaware that the toolbar orientation can be changed, or can't find how to do it. MAJOR, fails WCAG SC 1.1.1 Non-text Content (level A) for the high-contrast scenario.
    • Sub-menu buttons in vertically-orientated trays. Visually this is just an icon. In high-contrast mode, when the icon is missing, users may not understand the hierarchy of an open menu, and may be completely unaware that more links can be disclosed. MAJOR, fails WCAG SC 1.1.1 Non-text Content (level A) for the high-contrast scenario.

Assisitive technology and Semantics

🌱 Plan
Status

Active

Version

11.0 πŸ”₯

Component
ToolbarΒ  β†’

Last updated about 11 hours ago

  • Maintained by
  • πŸ‡«πŸ‡·France @nod_
Created by

πŸ‡¬πŸ‡§United Kingdom andrewmacpherson

Live updates comments and jobs are added and updated live.
  • Accessibility

    It affects the ability of people with disabilities or special needs (such as blindness or color-blindness) to use Drupal.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡¨πŸ‡¦Canada mgifford Ottawa, Ontario

    Adding reference to Windows High Contrast Mode.

  • πŸ‡ΊπŸ‡ΈUnited States kentr Durango, CO

    These don't have their own issues yet, correct?

    1. Too many ARIA group/landmark roles
    2. Navigation landmark regions without accessible names
    3. Empty navigation regions

    #3 is a quick fix.

    From looking at the template, removing the nested navs as suggested for #1 might also fix #2.

    The toolbar is wrapped by an ARIA group (not a landmark) and a navigation role, each with their own label. This double wrapper doesn't serve much purpose, it merely increases verbosity.

    It's also throwing this Axe error, which resolves when I change the div to nav and remove the role="group".

    All page content should be contained by landmarks
    
    Ensure all page content is contained by landmarks
    
    Element Location: #toolbar-administration
    
    <div id="toolbar-administration" role="group" aria-label="Site administration toolbar" data-drupal-claro-processed-toolbar="" class="toolbar claro-toolbar toolbar-oriented" data-once="toolbar toolbarAntiFlicker">
    
Production build 0.71.5 2024