Yet again, GitHub violates the Web Content Accessibility Guidelines by stealing a key: not it is the dot (.)
Posted by jpluimers on 2021/08/17
More sites seem to have a tendency of stealing keyboard shortcuts and violating the WCGA (Web Content Accessibility Guidelines), especially the (lowest!) conformance level A in [Wayback] WCAG version 2.1, section Success Criterion 2.1.4 Character Key Shortcuts
If a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true:
- 1. Turn off
- A mechanism is available to turn the shortcut off;
- 2. Remap
- A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc);
- 3. Active only on focus
- The keyboard shortcut for a user interface component is only active when that component has focus.
Mind you, I’m a keyboard person, there is even a: Keyboards and Keyboard Shortcuts category, but they always need to be configurable, anything else is a sin.
And GitHub did it again: [Archive.is] GitHub on Twitter: “🤫 New shortcut: Press . on any GitHub repo.… “.
So I’m totally with these:
- [Archive.is] patrick h. lauke #toryScum #clapForFlagWankers on Twitter: “suggest having a read over https://w3.org/TR/WCAG21 and either changing shortcuts to use modifier keys (e.g. CTRL+.) or be remappable/turn-off-able… “
- [Archive.is] Leszek Jakubowski on Twitter: “Please switch the hotkey to Ctrl+. or Meta+. and don’t steal a normal key from under me. Thanks.… “
Now they have started to steal the dot (.) keyboard to (in-place, with a fully new URL and no indication how to easily go back) start Visual Studio Code in the current repository.
Going back, though not documented, actually takes between one and three “back” movements in your web-browser history: utterly ridiculous for a key one can accidentally hit.
This behaviour violates all three above sub-criterions:
- it cannot be turned off
- there is no way to remap it
- it is almost always activated (unless there a text input – like “search” or “goto file” – has focus)
This is a very bad way to cope with accessibility, especially as conformance level A is yet again violated.
[Wayback] WCAG 2.1: section 5.2.1 Conformance Level:
One of the following levels of conformance is met in full.
- For Level A conformance (the minimum level of conformance), the Web page satisfies all the Level A Success Criteria, or a conforming alternate version is provided.
- For Level AA conformance, the Web page satisfies all the Level A and Level AA Success Criteria, or a Level AA conforming alternate version is provided.
- For Level AAA conformance, the Web page satisfies all the Level A, Level AA and Level AAA Success Criteria, or a Level AAA conforming alternate version is provided.
To me another cardinal sin is that they stole Ctrl-F / Command-F (depending if you use non-MacOS or MacOS) from the web browser. So now it does not find it in the full page, but only in the currently selected file. (You guessed it, I’m with [Archive.is] KewlCat on Twitter: “I hate it when they intercept “/” and even [Ctrl]-F… “ too)
More of those conformance violation sins are at [Wayback] Keyboard shortcuts – GitHub Docs.
It isn’t hard to prevent this kind of thinking: it’s a mind set as described by [Archive.is] Patrick Joannisse on Twitter: “I don’t know if you are expecting a real answer but here goes: it starts with the mindset. In my training they had us wear goggles to block our vision and made us use a screen reader for a while. We met people with disabilities and they would show us how they work.… “
If you still like it and want to know how it works
- [Archive.is] Siddhant Khare on Twitter: “Remembering our Project:
github1s
ft. netcon, @xcv58… “ - [Archive.is] geoff on Twitter: “ah. It’s because GitHub isn’t actually provisioning infrastructure with .dev. They have taken the https://t.co/hmgOMppt6w concept and popularized it. Okay when the “IDE is running”, it’s in your browser. Changes to files are committed via the GitHub HTTP API.… You’ll notice that there isn’t a terminal provisioned with .dev. That’s the hint (and future upsell mechanism).
–jeroen
Leave a Reply