RE: Action-1293 Proposal

I made a proposal to handle this for lists as part of my Web Accessibility Properties and Actions proposal at TPAC.  It could easily be generalized to tables as well.

https://rawgit.com/cyns/wapa/master/wapa.html


From: Dominic Mazzoni [mailto:dmazzoni@google.com]
Sent: Wednesday, March 11, 2015 10:20 AM
To: Alexander Surkov
Cc: Matthew King; Joanmarie Diggs; PF; Richard Schwerdtfeger
Subject: Re: Action-1293 Proposal

I still don't understand what this line is supposed to mean:

<tr aria-rowindex="100" aria-rowcount="50"><tr> <!-- 49 rows are not yet loaded -->

If the intended meaning of this line is that "there are 49 rows following this one that aren't loaded yet", then I don't see how that's useful information to annotate. I'm not aware of an existing native accessibility API that has a way to express this, nor am I aware of any screen reader that announces anything like this. Rather, most APIs and screen readers primarily concern themselves with (1) the coordinates of the current cell, (2) the span of the current cell, and (3) the total number of rows and columns in the table.

Everything else is just implied or discovered - for example if you navigate down from row 1 and reach row 100, clearly the rows in-between were missing - but that's implicit, not explicit.

- Dominic

On Wed, Mar 11, 2015 at 10:01 AM, Alexander Surkov <surkov.alexander@gmail.com<mailto:surkov.alexander@gmail.com>> wrote:
I don't see a reason preventing rowcount from working on the table element (I guess same for colcount attribute) but I let Joanie to comment in case if I miss something.
I would argue that spanned cell and missed rows/columns are semantically different and shouldn't be used to substitute each other.

On Wed, Mar 11, 2015 at 12:38 PM, Dominic Mazzoni <dmazzoni@google.com<mailto:dmazzoni@google.com>> wrote:
On Wed, Mar 11, 2015 at 5:38 AM, Alexander Surkov <surkov.alexander@gmail.com<mailto:surkov.alexander@gmail.com>> wrote:
yes but not always though. If that was true then there's no reason of putting those attributes on cell or row elements. As I understand a table may be loaded in number of parts (Joanie's point iirc), for example:
<table>
  <tr></tr> <!-- 98 rows are missed-->
  <tr> aria-rowindex="100" aria-rowcount="50"><tr> <!-- 49 rows are not yet loaded -->
  <tr aria-rowindex="151" aria-rowcount="20"></tr> <!- 19 rows are not yet loaded -->
</table>

I'm not sure I understand that example. If the user lands on row 151, how would you have that described by AT? Aren't there 170 total rows in the table?

What would be wrong with this?

<table aria-rowcount="170">
  <tr aria-rowindex="100"><tr> <!-- 49 rows are not yet loaded -->
  <tr aria-rowindex="151"></tr> <!- 19 rows are not yet loaded -->
</table>

In that example above, the index of each row, plus the total row count in the table, is sufficient to totally describe what rows are present and what rows are missing.

Alternatively, if you want a placeholder for missing rows, I think we should use rowspan:

<table aria-rowcount="170">
  <tr aria-rowindex="1" aria-rowspan="99"><tr> <!-- 99 rows are missed -->
  <tr aria-rowindex="100"><tr>
  <tr aria-rowindex="101" aria-rowspan="49><tr> <!-- 49 rows are not yet loaded -->
  <tr aria-rowindex="151"></tr>
  <tr aria-rowindex="152" aria-rowspan="18><tr> <!-- 18 rows are not yet loaded -->
</table>

Received on Wednesday, 11 March 2015 19:27:07 UTC