RE: Radio and check boxes inside the table

This topic is nothing but an expectation not met.

The expectation is:

WHEN I PUT AN ELEMENT THAT NEEDS A LABEL IN A TABLE CELL AND HAS NO OWN LABEL DEFINED THEN THE BROWSER SHOULD AUTOMATICALLY MAP THE SURROUNDING CELL HEADERS OR ARIA-LABELLEDBY PROPERTY TO THE LABEL RELATION OF THE CONTAINED ELEMENT.

Browsers don’t do that. That’s because nobody told them to do so. Reason unknown. I can imagine it will have side effects. And this won’t solve the validator problem either.

What you find instead is that you put the burden on the AT and the validators. Both should go on DOM structure, analyze on focus where they in (table cell) and speak and accept any existing headers or aria-labelledby attributes.

AT and Validators don’t do that. That’s because nobody told them to do so. Reason unknown. I can imagine it will have side effects (huh, sounds familiar).

Regarding redundant speaking in general:

The best practice would be that redundant speaking is handled within Assistive Technology (authoring errors explicitly excluded). Provided the fact that you have two identical text strings in two different properties (this MAY happen) there could be AT settings like “ignore when identical” or “speak only when different”.

This is not necessarily related to ARIA or table stuff and can also be done for cases like

<button title=”This is a long truncated text”> This is a long truncated text</button>

where the visible UI text because of button width limitations will be abbreviated by the browser to “This is a long..” and the tooltip will hold the entire text.

Often, authors cannot foresee the width and to “be on the safe side”, use the title to back up those cases. You can debate for ages if this is good or bad but the consequence is that both texts would be spoken by AT on button focus. A setting like “speak only when different” definitely helps here (e.g. screen reader Jaws has that), but the PROBLEM is that you would need such a setting for MANY roles (not just buttons and links). Jaws limits itself here unnecessarily, in consequence, those settings do not work for certain other ARIA roles that use visible label strings.


  *   Stefan

From: Sina Bahram <sina@sinabahram.com>
Sent: Wednesday, September 4, 2019 6:30 PM
To: 'Bryan Garaventa' <bryan.garaventa@levelaccess.com>; 'sirisha gubba' <nsfsiri2014@gmail.com>; 'ARIA Working Group' <public-aria@w3.org>
Subject: RE: Radio and check boxes inside the table

Building on this, is there accepted best practice on how to avoid the double speaking?

President, Prime Access Consulting, Inc.
Phone: 919-345-3832
https://www.PAC.bz

Twitter: @SinaBahram
Personal Website: https://www.sinabahram.com


From: Bryan Garaventa <bryan.garaventa@levelaccess.com<mailto:bryan.garaventa@levelaccess.com>>
Sent: Wednesday, September 4, 2019 9:30 AM
To: sirisha gubba <nsfsiri2014@gmail.com<mailto:nsfsiri2014@gmail.com>>; ARIA Working Group <public-aria@w3.org<mailto:public-aria@w3.org>>
Subject: RE: Radio and check boxes inside the table

Hi,
This is because the table structural relationship is not a valid naming mechanism, so it may be announced by some ATs in some cases, but it’s not reliable. E.G. Likely the label will not be announced when the form field is navigated to on a touch screen device like iOS. This is because it needs to be labelled properly using a valid naming mechanism for this to work equally across devices.

All the best,
Bryan

Bryan Garaventa
Principal Accessibility Architect
Level Access, Inc.
Bryan.Garaventa@LevelAccess.com<mailto:Bryan.Garaventa@LevelAccess.com>
415.624.2709 (o)
www.LevelAccess.com<http://www.LevelAccess.com>

From: sirisha gubba <nsfsiri2014@gmail.com<mailto:nsfsiri2014@gmail.com>>
Sent: Tuesday, September 3, 2019 11:14 AM
To: ARIA Working Group <public-aria@w3.org<mailto:public-aria@w3.org>>
Subject: Radio and check boxes inside the table

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

If a radio button or check boxe is used inside  a <td> cell, why does it need aria-label or aria-labelled by attribute added to it?

The radio buttons are inside the table,  so the relationship has been established between the table headers and radio button in <td> cell.
 Adding aria-label makes the screen readers to narrate the radio button's label twice.
If I remove aria-label from the radio button (which is in a <td> cell), automated tools are flagging it as error.

Can you please advice?


Thanks,
Siri

Received on Thursday, 5 September 2019 07:53:09 UTC