- From: Michiel Bijl <michiel@agosto.nl>
- Date: Tue, 22 Sep 2015 01:02:22 +0200
- To: Birkir Gunnarsson <birkir.gunnarsson@deque.com>
- Cc: Joanmarie Diggs <jdiggs@igalia.com>, W3C WAI Protocols & Formats <public-pfwg@w3.org>
Interesting reply, thank you. I was just wondering why one would add an aria-label to a radio button that already has a <label>? —Michiel > On 22 Sep 2015, at 00:39, Birkir Gunnarsson <birkir.gunnarsson@deque.com> wrote: > > The aria-label comes after aria-labelledby and before the native > labeling mechanism in the accessible name computation algorithm. > What the spec is not clear on, in my understanding, is whether user > agents who have discovered one source of accessible name should stop > and expose that name to the a.t., or whether they should continue > looking for other sources and expose these as well. > e.g. > <span id="yeap">Yes</span> > <input type="radio" aria-labelledby="yeap" aria-label="no way" id="r1"> > <label for="r1">green</label> > > According to ANCA the accessible name should be "yes". > If you look at all possible sources of the name the accessible name > should be "yes no green". > > My understanding is that all a.t. applications need to adhere to the > accessible name calculation algorithm. > It is documented to help developers expose the accessible name in a > predictable way. > If some a.t. follow it, others choose not to, it makes the whole > concept pretty useless. > In the particular case you showed, it is just a matter of bad coding, > and we cannot fix that through use of standards (goodness knows I wish > we could sometimes). > I have always found the priorities in the ANCA a little strange, I > would have thought that if a label can be derived from the host > language labeling mechanism that it should be the first choice of an > element's accessible name. > But I am sure there are reasons, and I have always advised developers > to follow that algorithm when they need to communicate the accessible > name of an element in unconventional ways. > > > >> On 9/21/15, Joanmarie Diggs <jdiggs@igalia.com> wrote: >> Hey all. >> >> The following test case is based very closely on something in the wild: >> >> <label> >> <span> >> <input role="radio" aria-label="yes" type="radio"> >> </span> >> <span>yes</span> >> </label> >> >> The way that radio button being exposed on my platform is: >> * accessible name: "yes" >> * labelled-by relation pointing to label with name: "yes yes" >> >> An Orca user reported that Orca is double-speaking the radio button name >> ("yes yes"). This is because in the case of radio buttons Orca prefers >> the accessible label gotten from the accessible relationship. >> >> Arguably I could solve the user's problem by having Orca prefer the name >> instead. But then consider this version: >> >> <label> >> <span> >> <input role="radio" aria-label="well, maybe..." type="radio"> >> </span> >> <span>no</span> >> </label> >> >> That radio button has: >> * accessible name: "well, maybe..." >> * labelled-by relation pointing to label with name: "well, maybe... no" >> >> Given that the label/value sighted users read is "no," it seems to me >> that preferring the radio button's name would result in the user missing >> out on important information and thus is not what I should have Orca do. >> >> I'm not sure if this is something we should fix in the authoring guide, >> the ARIA spec, the name computation spec, or the mapping guide. But I >> think the current user experience that is resulting is less than ideal. >> And expecting the ATs to have to examine each label+name pair to see if >> one is contained in the other is not the way to fix it. >> >> Thoughts? >> --joanie >
Received on Monday, 21 September 2015 23:02:42 UTC