Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progress indicator navigation not reachable by keyboard #244

Closed
kirsty-hames opened this issue Jan 27, 2023 · 7 comments
Closed

Progress indicator navigation not reachable by keyboard #244

kirsty-hames opened this issue Jan 27, 2023 · 7 comments

Comments

@kirsty-hames
Copy link
Contributor

The following is feedback from an external accessibility audit:

Background: All controls reachable with a mouse or pointing device must also be accessible to users who rely on keyboard-only navigation, including screen reader users.

Current behaviour: The narrative carousel component provides two ways to navigate between slides – the “next/previous” arrow keys, and a series of dots at the bottom of each slide where users can skip directly to a specific slide. These are not in the tab index and so cannot be reached with keyboard navigation.

To replicate: Using keyboard navigation, move through this component and observe the focus position.

Expected behaviour: Keyboard users should be able to navigate to these controls using the tab key. They should also be properly labelled to allow their use by screen reader users.

Recommended Fix: Apply the role of button to these controls and ensure that they are correctly labelled and included in the tab index. Keyboard handling should also be set so that they can be activated with both the space and enter keys, and the currently selected slide should be set programmatically as well as visually.

@kirsty-hames
Copy link
Contributor Author

kirsty-hames commented Jan 27, 2023

I think the progress indicators were purposefully removed from the tab order as having two ways to navigate a component being more confusing. Alternative to the recommendation above, would it be better if the progress indicators were used for progress status only and not be clickable as this isn't inclusive to all users?

@guywillis
Copy link
Contributor

Makes sense to me to remove the functionality of the progress dots and leave them as visual indicators.

@swashbuck
Copy link
Contributor

Will be included in PR #250

@swashbuck
Copy link
Contributor

In addition to removing the click functionality, should narrative__slide-indicators be using aria-hidden="true" as well?

@swashbuck swashbuck moved this from Awaiting Response to Needs Reviewing in adapt_framework: The TODO Board Mar 3, 2023
@swashbuck swashbuck self-assigned this Mar 3, 2023
@swashbuck
Copy link
Contributor

Ready for review in #250

@kirsty-hames
Copy link
Contributor Author

In addition to removing the click functionality, should narrative__slide-indicators be using aria-hidden="true" as well?

Seeing as there's no readable content within the narrative__slide-indicators I don't think we need to apply aria-hidden="true". I haven't had any issues with these being identified by a screen reader when testing.

@kirsty-hames
Copy link
Contributor Author

I can confirm this has been fixed by #250 and adaptlearning/adapt-contrib-vanilla#399
Tested: desktop browsers (Mac Safari, Chrome and FF), iPhone and Android tablet.

@github-project-automation github-project-automation bot moved this from Needs Reviewing to Recently Released in adapt_framework: The TODO Board Mar 14, 2023
github-actions bot pushed a commit that referenced this issue Mar 21, 2023
## [7.4.1](v7.4.0...v7.4.1) (2023-03-21)

### Fix

* Convert to JSX, make progress indicators non-interactive (fixes #238 #244) ([7f7977a](7f7977a)), closes [#238](#238) [#244](#244)
github-actions bot pushed a commit to robertmausser/adapt-contrib-narrative that referenced this issue Jul 10, 2023
# [5.1.0](v5.0.2...v5.1.0) (2023-07-10)

### chore

* added package.json ([c80dc92](c80dc92))
* added package.json ([eef9b5d](eef9b5d)), closes [#3072](https://github.com/robertmausser/adapt-contrib-narrative/issues/3072)

### Fix

* _globals schema nesting (adaptlearning#253) ([2cdb7ae](2cdb7ae)), closes [adaptlearning#253](https://github.com/robertmausser/adapt-contrib-narrative/issues/253)
* Added gitignore for release automation (adaptlearning#237) ([bacab53](bacab53)), closes [adaptlearning#237](https://github.com/robertmausser/adapt-contrib-narrative/issues/237)
* Added release automation (adaptlearning#234) ([dd45d5a](dd45d5a)), closes [adaptlearning#234](https://github.com/robertmausser/adapt-contrib-narrative/issues/234)
* Bump http-cache-semantics from 4.1.0 to 4.1.1 (adaptlearning#246) ([b613166](b613166)), closes [adaptlearning#246](https://github.com/robertmausser/adapt-contrib-narrative/issues/246)
* Convert to JSX, make progress indicators non-interactive (fixes adaptlearning#238 adaptlearning#244) ([7f7977a](7f7977a)), closes [adaptlearning#238](https://github.com/robertmausser/adapt-contrib-narrative/issues/238) [adaptlearning#244](https://github.com/robertmausser/adapt-contrib-narrative/issues/244)
* Delay button update until after focus (fixes adaptlearning#261) (adaptlearning#266) ([949ee68](949ee68)), closes [adaptlearning#261](https://github.com/robertmausser/adapt-contrib-narrative/issues/261) [adaptlearning#266](https://github.com/robertmausser/adapt-contrib-narrative/issues/266)
* Move breakpoint to medium from large (adaptlearning#264) ([65b1517](65b1517)), closes [adaptlearning#264](https://github.com/robertmausser/adapt-contrib-narrative/issues/264)
* Move button labels to span tags (fixes adaptlearning#268) ([433b7f9](433b7f9)), closes [adaptlearning#268](https://github.com/robertmausser/adapt-contrib-narrative/issues/268)
* Narrative focus being pulled on mobile fix (fixes adaptlearning#258) ([b60f8dc](b60f8dc)), closes [adaptlearning#258](https://github.com/robertmausser/adapt-contrib-narrative/issues/258)
* Narrative item header level calculation (adaptlearning#257) ([c5abd1b](c5abd1b)), closes [adaptlearning#257](https://github.com/robertmausser/adapt-contrib-narrative/issues/257)
* Prevent scrolling of container (fixes adaptlearning#254) (adaptlearning#255) ([cb6a6e9](cb6a6e9)), closes [adaptlearning#254](https://github.com/robertmausser/adapt-contrib-narrative/issues/254) [adaptlearning#255](https://github.com/robertmausser/adapt-contrib-narrative/issues/255)
* Removed focus-rect (fixes adaptlearning#242) ([c3692de](c3692de)), closes [adaptlearning#242](https://github.com/robertmausser/adapt-contrib-narrative/issues/242)
* Replace narrative view with hotgraphic view on parent (adaptlearning#265) ([8db789a](8db789a)), closes [adaptlearning#265](https://github.com/robertmausser/adapt-contrib-narrative/issues/265)
* Resolve page scroll when user selects last item (adaptlearning#232) ([f4cf921](f4cf921)), closes [adaptlearning#232](https://github.com/robertmausser/adapt-contrib-narrative/issues/232)
* Strapline overflow fix (adaptlearning#247) ([b011f23](b011f23)), closes [adaptlearning#247](https://github.com/robertmausser/adapt-contrib-narrative/issues/247)
* Version numbers removed from Readme files ([47c8a59](47c8a59))

### New

* Issue and pr project addition automation (refs adaptlearning/adapt_framework#3315) (adaptlearning#233) ([b6836d6](b6836d6)), closes [adaptlearning#233](https://github.com/robertmausser/adapt-contrib-narrative/issues/233)
* Normalize icons globally ([6c75165](6c75165))
* Provide default instruction text (fixes adaptlearning#240) (adaptlearning#241) ([7d3e560](7d3e560)), closes [adaptlearning#240](https://github.com/robertmausser/adapt-contrib-narrative/issues/240) [adaptlearning#241](https://github.com/robertmausser/adapt-contrib-narrative/issues/241)

### onItemsActiveChange

* remove underscore from parameter and return early ([2eab40b](2eab40b))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants