WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Does WCAG require that when you click a label it checks the checkbox or radio button?


From: Chaals McCathie Nevile
Date: Nov 21, 2015 12:02AM

On Fri, 20 Nov 2015 17:59:28 +0100, Paul Adam < <EMAIL REMOVED> > wrote:

> Screen readers do tell the user how to operate the control based on the
> role. So if you use a certain role the user expects the behavior the
> screen reader conveys. Seems like a fail if you don’t implement the
> standard convention keyboard operation they’d expect.
> Yes I would love to fix this issue with WCAG if it’s really not required.

Yes, "operable" and "understandable" should combine to mean "I can predict
how it works". And there is a problem with WCAG if that doesn't happen, so
filing bugs against it is the right thing to do.

But there is another problem, related to Alistair's "choose any two"
dilemma. How it works may not be the same on all systems. We have sold the
world on the idea that space and enter make buttons work, because on many
systems they do. But we are on a bad path there.

Complex controls can be implemented in different ways on different
systems, and web authors don't know enough about the user to match their

One example is fundamental to keyboard navigation. Most early browsers
settled on letting the user hit tab and cycle through everything - which
is "predicatble", but hopelessly inefficient. Opera instead had a set of
user-configurable controls - tab moved through forms, q/a through links,
w/s through headings, etc. Last century, before JAWS provided header
navigation, any Opera user had it built in.

But "we" - the experts on web accessibility - told everyone that tabbing
was the way to navigate. So when people discovered that on Opera tab
wouldn't get to a link, they believed our story, and rejected the more
efficient methods to the point where Opera had to change - losing valuable

In any event, given that browsers have fast, efficient, well-tested native
code for making buttons work, why should we tell millions of authors to
replicate that code in javascript? That is an inefficient, error-prone way
to work. If browsers recognised controls from their role, why can't they
just apply the same code they use when they recognise them from the
element name? In the button case, I can't think of a reason. Nor in the
case of a range control, or a date-picker. The only issue will arise if
the button is coded to do something the user *doesn't* expect, like
operate on pressing q or f.

This is going to get more interesting when we try to work out how to make
web components accessible.

It's one of the problems I am hoping to get people thinking about and
working on in the Web Incubator group, to see if we can improve HTML,
instead of just WCAG. Because a win for the people who don't use
screenreaders, that also works for the people who do, and that removes
work from authors, seems like a much bigger win...


> Paul J. Adam
> Accessibility Evangelist
> www.deque.com
>> On Nov 19, 2015, at 2:36 PM, Sean Curtis < <EMAIL REMOVED> > wrote:
>> If the custom button receives focus wouldn't most screen readers tell
>> them how to activate it? Wouldn't this be enter or space? There are
>> conventions around this stuff surely? If WCAG can be passed by some
>> inaccessible UI then we need to rectify something...
>> Cheers,
>> Sean
>>> On 20 Nov 2015, at 6:51 AM, Patrick H. Lauke < <EMAIL REMOVED> >
>>> wrote:
>>>> On 19/11/2015 18:17, Paul Adam wrote:
>>>> So WCAG is fine if let’s say I make all my buttons operable with the
>>>> Escape key only. No enter or space bar must press escape to activate
>>>> the buttons. That would not fail keyboard operable? If not, WCAG
>>>> indeed has many loopholes.
>>> Bingo.
>>> P
>>> --
>>> Patrick H. Lauke
>>> www.splintered.co.uk | https://github.com/patrickhlauke
>>> http://flickr.com/photos/redux/ | http://redux.deviantart.com
>>> twitter: @patrick_h_lauke | skype: patrick_h_lauke
>>> >>> >>> >>> >> >> >> >> >
> > > > --
Charles McCathie Nevile - web standards - CTO Office, Yandex
<EMAIL REMOVED> - - - Find more at http://yandex.com