WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Custom Keyboard Shortcuts: Are They Enough?

for

From: Bim Egan
Date: Jan 23, 2018 3:07PM


There is a real potential for conflicts between the keyboard shortcuts used
for assistive technologies (AT), which should have first call on any key
combinations; browsers, that use key combinations for interacting with the
browser chrome and web pages, where the key combination may never be picked
up by the AT. It's not just providing the functionality, the user also
needs to know what the control is, what it does and how to use it. With
screen readers, a lot of this work is done by the screenreader itself, which
tells the user what key combination to use to interact with the control, and
can even say what subsequent key combinations will move to a newly revealed
element.

All this is done by the AT "knowing" what to expect. A lot of this is now
handled by using WAI-ARIA. But it also depends on whether the browser
supports the WAI-ARIA technique or widget being used. ,

So custom controls may never be picked up by AT, and those that are may
leave the user in the dark about what to do and what to expect.

We've just audited a site that used a great deal of drag and drop, most of
which didn't work at all, in some instances the controls couldn't even
receive focus. We suggested just what you thought of, buttons that would
move component blocks in any direction, either simply one at a time (which
would be laborious, or by combining it with a <select> to specify how many
positions to move in whichever direction. We knew this wouldn't be a
popular option for everyone, so we also suggested the use of a toggleTip(1),
to display the buttons and any form controls, along with the information
that if the specified number of moves was greater than the available
positions, then the target component block would move only as far as it
was able to in the desired direction.

Hope this helps.
(1)
https://developer.paciellogroup.com/blog/2016/01/simple-standalone-toggletip
-widget-pattern/