- From: ashraf aleem <ashraf.aleem@gmail.com>
- Date: Thu, 12 Dec 2024 09:19:34 -0600
- To: Ivan Rodrigues <ivan.joel.rodrigues@gmail.com>
- Cc: w3c-wai-ig@w3.org, wai@w3.org
- Message-ID: <CAFU2_y1SuuVT7=f=pe0=4M0FWMGcYrtKsYOvWoo74frt6MZtmw@mail.gmail.com>
Hi, As you suggested > *technical constraints prevent us from drastically changing the existing > HTML structure.* https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/radiogroup_role Please look into role = "radiogroup" on the <tr>, check how it reads with screen readers. I have seen examples of using it with <ul>, https://www.w3.org/WAI/ARIA/apg/patterns/radio/examples/radio/ Thanks, Ashraf Mohammad On Thu, Dec 12, 2024 at 8:33 AM Ivan Rodrigues < ivan.joel.rodrigues@gmail.com> wrote: > Dear W3C Team, > > > I hope this message finds you well. I am reaching out via these email > addresses because I am unsure who the most appropriate contact would be for > my query. I am currently redesigning our web application at work to improve > its accessibility, and I have encountered an issue related to HTML tables > and screen reader behavior. > > Our application contains numerous HTML tables. One of them has the > following (simplified for the example) structure: > [image: image.png] > > The table is straightforward, with the last column containing a "group" of > radio buttons. > Below is its HTML structure: > <table> > <thead> > <tr> > <th scope="col">Id</th> > <th scope="col">Name</th> > <th scope="colgroup" colspan="2">Actions</th> > </tr> > </thead> > <tbody> > <tr> > <td>1</td> > <td>Watch</td> > <td> > <input > type="radio" > value="A" > aria-label="Choice A" > id="product-1-A" > name="product-1" > /> > <label aria-hidden="true" for="product-1-A"> Label A </label> > </td> > <td> > <input > type="radio" > value="B" > aria-label="Choice B" > id="product-1-B" > name="product-1" > /><label aria-hidden="true" for="product-1-B"> Label B </label> > </td> > </tr> > <tr> > <td>2</td> > <td>Tablet</td> > <td> > <input > type="radio" > value="A" > aria-label="Choice A" > id="product-2-A" > name="product-2" > /><label aria-hidden="true" for="product-2-A"> Label A </label> > </td> > <td> > <input > type="radio" > value="B" > aria-label="Choice B" > id="product-2-B" > name="product-2" > /><label aria-hidden="true" for="product-2-B"> Label B </label> > </td> > </tr> > </tbody> > </table> > > I recreated the example on Stackblitz so you are able to reproduce it and > experiment with it as well: > https://stackblitz.com/edit/accessibility-html-table-with-radio-buttons > <https://stackblitz.com/edit/accessibility-html-table-with-radio-buttons> > > > The issue arises when the table is interpreted by screen readers. For > instance, when navigating to the second radio button in the second row > (Choice B), NVDA announces: > [image: image.png] > "*Choice B row 2 Actions column 4, Choice B radio button not checked one > out of one.*" > > The "one out of one" is incorrect; it should announce "*two out of two*" > since it is part of a radio group formed using the "name" attribute. The > expected behavior is for NVDA (or any screen reader) to recognize this and > correctly announce the grouping based on the "name" attribute. > > I know that this could be resolved by wrapping the radio buttons in a > <fieldset> tag, but unfortunately, technical constraints prevent us from > drastically changing the existing HTML structure. > > > I would like to submit this issue as a bug or feature request but am > unsure whom to contact. Should this be directed to the NVDA development > team, W3C (as it relates to HTML specifications), or another organization? > > I would greatly appreciate your guidance on redirecting this query to the > appropriate party. > > Thank you for your time and assistance. > > > > Kind regards, > > Ivan Rodrigues > >
Attachments
- image/png attachment: image.png
- image/png attachment: 02-image.png
Received on Thursday, 12 December 2024 15:20:17 UTC