Carousel behaviour needs more clarification and a demo with matching behaviour
@Heydon ci sta già lavorando.
Dal 13/11/2019.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
How the carousel should behave when someone navigates with the tab key and/or with a screen reader is unclear and does not appear to describe what is happening in the demo. Such that the demo does not appear to behave quite as I would expect.
When navigating the carousel demo with the tab key I observed:
- first tab press moves focus to the 'next' button.
- second tab press moves focus to the first list item.
- third tab press moves focus to the in-item topic link (personally not a fan sub-links in carousel items).
- fourth-seventh tab presses move focus through the other visible items and topic links.
- eighth tab press scrolls the carousel but doesn't appear to focus on anything specific (and certainly not the next list item).
- ninth tab press appears to move focus to the last/7th item in the list and it's in-item link (rather unexpected).
- tenth tab press again doesn't appear to focus on anything specific (not sure what to expect at this point).
- eleventh tab press moves focus to the 'previous' button.
- continued tab presses then move through the remaining now visible items and topic links.
If navigating with the tab key should (after the next button) move through the full list of items, then it is not doing this. If navigating with the tab key should trigger the carousel to scroll when moving onward from the last visible item, and then focus on the next/previous buttons before continuing through the new visible items, then the demo is not not doing this correctly either.
Which and what it is supposed to do is unclear from the documentation.
When navigating with screen reader controls (not the tab key) the behaviour is more consistent with what I would expect, though it takes 8 arrow presses to move through each item in the list rather than grouping the content within each item.
One of the big challenges with carousels for keyboard/switch/screenreader navigation is balancing between jumping through a list with next/previous (or scroll forward/backward) buttons, and being able to select an item that is currently visible in the carousel.
When navigating with keyboard control, it is nicely straightforward to ignore the next/previous buttons and move focus from item to item in the list, scrolling items into view as they gain focus. However, this quickly becomes tedious if a carousel contains a long list of items and the user cannot easily jump ahead.
When navigating without sight, it isn't obvious that not all list items are visible/available or that there is a way to skip ahead in the list.
And on mobile, I've seen some carousels without the next/previous arrows, which is not ideal for users who may not understand to swipe. Triggering scroll by touching a partially visible item at the edge of the screen, and keeping the item that currently has focus in the centre, can both help with this (Amy Leak did some user research around this for something else).
It would be good to document the navigation user journey for each type of user (keyboard/switch, screen reader, mobile with/without swipe gestures, etc) to be clearer about how a carousel should behave. And to ensure the demo matches the expected behaviour.
- Lingua principale
- JavaScript
- Stelle
- 50
- Fork
- 19
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bbc/gel
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 38/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
-
Information panels - WCAG 2.1 2. Keyboard TrapForse di nuovo libera @mathalete l’ha presa 997 giorni fa e non c’è nessuna pull request aperta. Aperta
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ImpactMojo/ImpactMojo#1385 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Seeed-Studio/wiki-documents#5974 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
taskcluster/taskcluster#9486 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno