Page MenuHomePhabricator

Make RevisionSlider usable for screenreader users
Open, LowPublic

Description

Issue
The RevisionSlider is not currently usable for screenreader or keyboard only users.

TODO:

  • The (un)collapsed status of the widget is not reflected in the dom (screenreader)
  • The pinning button has no label (screenreader)
  • The pinning button does not reflect it's state (it has an aria-checked attribute (on the wrong element ?) and it's always false (screenreader)
  • The prev/next pagers do not have labels. (Screenreader)
  • The help button does not listen to keyboard selection (enter/spacebar) (keyboard navigation)
  • There is no way to interact with the timeline (keyboard navigation)
  • The popups are not transparently read out
  • Structure and meaning of the timeline is not transparent to a screenreader

@Tobi_WMDE_SW and @WMDE-Fisch will work on this during the Vienna Hackathon. More people are welcome!

Helpful links:
mediawiki's accessibility guide for developers

Links to the aria standard for reader annotations:
https://www.w3.org/TR/wai-aria-practices/
https://www.w3.org/TR/wai-aria/states_and_properties
https://www.w3.org/TR/wai-aria/roles#childrenArePresentational

Background:
The RevisionSlider is an extension that adds a slider view to the diff page so that you can easily move between revisions.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Lea_WMDE subscribed.

Thanks for creating the ticket! We will definitely look into how to make this compatible this week.

Lea_WMDE renamed this task from RevisionSlider is not usable for screenreader users to Make RevisionSlider usable for screenreader users.May 17 2017, 11:40 AM
Lea_WMDE updated the task description. (Show Details)
Lea_WMDE moved this task from Backlog to Featured Projects on the Wikimedia-Hackathon-2017 board.
Lea_WMDE added subscribers: WMDE-Fisch, Tobi_WMDE_SW.

pinging @Volker_E as someone who also might be interested in this.

Yup, I'm watching the Accessibility Phab board and just wanted to add, that I'm interested to help where possible at the Hackathon. :)

Hi! I'd be happy to help with usability, testing and design.

@TheDJ do you think that adding aria-label attributes to the relevant tags should be sufficient from your experience?

@WMDE-Fisch actually, i'm not entirely sure how OOjs UI currently deals with this. In my personal view, a ButtonWidget should always have a label, and having an Icon only button is a styling problem that should be solved with a trait or something.

I doubt that's how it works atm however. @Volker_E ?

@TheDJ yeah addressing that in OOjs UI is definitely needed here. But for the implementation it sill would be good to know what attribute is the best to choose here. That's the direction where my question was pointing at :-)

But looking at https://www.w3.org/TR/wai-aria-practices/#button I guess the answer is clearly "Yes to aria-label".

Change 354649 had a related patch set uploaded (by WMDE-Fisch; owner: WMDE-Fisch):
[mediawiki/extensions/RevisionSlider@master] Improve support for screenreaders

https://gerrit.wikimedia.org/r/354649

Change 354722 had a related patch set uploaded (by WMDE-Fisch; owner: WMDE-Fisch):
[mediawiki/extensions/RevisionSlider@master] Disable the RevisionSlider for screenreaders

https://gerrit.wikimedia.org/r/354722

Change 354722 merged by VolkerE:
[mediawiki/extensions/RevisionSlider@master] Disable the RevisionSlider for screenreaders

https://gerrit.wikimedia.org/r/354722

Change 354649 merged by jenkins-bot:
[mediawiki/extensions/RevisionSlider@master] Improve support for screenreaders

https://gerrit.wikimedia.org/r/354649

Small update here:

The above patch addresses most of the mentioned minor problems. Some more work is needed to make the timeline and popups usable, see T167768.

For now we will keep the feature deactivated for screenreader users and use this ticket as overall tracking ticket for the topic.

TheDJ lowered the priority of this task from High to Low.Feb 5 2018, 4:19 PM

adjusting prio per work done and future work expected.