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

Accessibility problems with the Vue timeline #846

Closed
anjackson opened this issue May 23, 2023 · 2 comments · Fixed by #889
Closed

Accessibility problems with the Vue timeline #846

anjackson opened this issue May 23, 2023 · 2 comments · Fixed by #889
Assignees

Comments

@anjackson
Copy link
Contributor

anjackson commented May 23, 2023

Describe the bug

The new timeline in 2.7.0+ as accessibility issues because keyboard navigation does not work as expected.

Steps to reproduce the bug

Go to https://beta.webarchive.org.uk/wayback/en/archive/*/http://portico.bl.uk/ and attempt to navigate the timeline using your keyboard. Expect to tab through a lot of blank dates in the timeline (e.g. having to tab ~15 times to get from 1995 to 1996), with no visual feedback most of the time.

Each 'empty' element in the timeline is represented like this:

<div tabindex="0" class="line" style="height: 0%;"></div>

i.e. with a tabindex set, i.e. part of tab navigation, but with a height of zero, thus invisible.

Expected behavior

Keyboard navigation should switch between actionable elements with clear visual feedback. This can be done by omitting the tabindex when the height is zero.

<div class="line" style="height: 0%;"></div>
<div tabindex="0" class="line" style="height: 20%;"></div>

Or perhaps...

<div tabindex="-1" class="line" style="height: 0%;"></div>
<div tabindex="0" class="line" style="height: 20%;"></div>

...as tabindex="-1" is an explicit statement that an object is not tab-accessible.

@tw4l tw4l self-assigned this May 23, 2023
@tw4l tw4l moved this from Triage to Todo in Webrecorder Projects May 23, 2023
@tw4l tw4l moved this from Todo to Ready for Dev in Webrecorder Projects May 31, 2023
@tw4l tw4l moved this from Ready for Dev to Dev In Progress in Webrecorder Projects Jul 4, 2023
@ldbiz
Copy link

ldbiz commented Oct 19, 2023

Currently testing a fix along the lines of above and noting any other related issues in case they need scoping in.

@ldbiz
Copy link

ldbiz commented Mar 6, 2024

I'm off this issue for the time-being due to unrelated priorities, but I think my fix changed the histo div tabindex to a conditional and removed the zero index from the inner:

changed
https://github.com/webrecorder/pywb/blob/main/pywb/vueui/src/components/Timeline.vue#L42
to:
:tabindex="histoPeriod.snapshotCount ? 0 : -1"

removed:
https://github.com/webrecorder/pywb/blob/main/pywb/vueui/src/components/Timeline.vue#L52

@tw4l tw4l moved this from Implementing to In Review in Webrecorder Projects Mar 29, 2024
@tw4l tw4l closed this as completed in #889 Apr 3, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done! in Webrecorder Projects Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done!
Development

Successfully merging a pull request may close this issue.

3 participants