Code Monkey home page Code Monkey logo

Comments (4)

MonstraG avatar MonstraG commented on May 1, 2024 1

Welp, it seems that my expectation doesn't match the ARIA, and, therefore of others.

Closing.

from material-ui.

danilo-leal avatar danilo-leal commented on May 1, 2024

Hey @MonstraG, thanks for opening this issue! I suspect this might have more to do with the Tabs demo within the docs than with the component itself. Using arrow keys to navigate around the Tab List and space/enter to activate a Tab worked fine for me in an isolated environment. Can you test it out here?

from material-ui.

MonstraG avatar MonstraG commented on May 1, 2024

Can you test it out here?

Item two and three are still not tab (↹) -reachable. (I cannot switch to Item two by just using tab (↹) or enter)

Using arrow keys to navigate

In both stackblitz and docs website, if I focus (active) Item one with tab (↹), I can then use arrow keys to switch to Item two or Item three, but I still would expect to be able to do so by tabbing (↹).

(added (↹) everywhere to differentiate between tab (↹) the keyboard key, and tab the interface element)

from material-ui.

danilo-leal avatar danilo-leal commented on May 1, 2024

Gotcha! I'm afraid, though, that as per the ARIA Authoring Practices Guide, if you've entered the TabList (or, in Material UI, Tabs) via the Tab key, and thus are focused on the active tab item, tabbing away shouldn't navigate you through the other items, but rather from the list to the content panels.

So, it seems like Material UI is behaving correctly. Take a look at other accessibility-focused projects such as Radix, React Aria, and Headless UI, which follow the same guidelines. The correct behavior is that you can traverse through the tab items via arrow keys.

from material-ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.