elastic / eui

Elastic UI Framework 🙌
https://eui.elastic.co/
Other
51 stars 840 forks source link

[A11y] [VPAT] 1.3.1 Info and Relationships - Search > Dev Tools - Tab groups should be a single Tab stop, traversed via arrow keys #8005

Open dave-gus opened 2 months ago

dave-gus commented 2 months ago

Steps to Reproduce:

Pre-requisite: User has created a Search project and gone to the homepage for that Search project. Screen reader is activated.

Using keyboard navigation:

  1. In left nav, select 'Dev Tools'
  2. Navigate to tabs in main content (Console/Search Profiler/Grok Debugger)
  3. Tab through the displayed tabs and observe keyboard navigation behavior

Expected Result:

Actual Result:

This issue impacts: 1.3.1 Info and Relationships 2.4.3 Focus Order 4.1.2 Name, Role, Value (State is also an aspect of this SC)

WCAG or Vendor Guidance (optional)

cee-chen commented 1 month ago

This is interesting because it essentially gives the tabs the same UX as role="radio", and we recently moved away from that UX for EuiButtonGroup: https://github.com/elastic/eui/issues/7101

EuiTabs feels fairly similar to an EuiButtonGroup in this regard, and I worry a little that since it looks like buttons, it would feel odd that it navigates via arrow keys and not tabs. See also:

That beings said, both MDN and WCAG spec clearly use arrow key navigation:

So we should likely follow the spec 🤷