RE: aria-rowindex and aria-colindex

This was a widget that a client was working on, luckily still in the design stage.

The concept I have in mind though, is that large interactive grids typically scroll vertically from top to bottom, where as you scroll up and down the new rows are dynamically rendered, and then aria-rowindex can be added to each row to convey the array index value of that row in the total of rows that the grid contains, like row140 of 2000.

If you turned this concept sideways and did the same thing with a horizontally scrolling grid instead, where columns were dynamically rendered instead of rows, then this paradigm would break, because aria-colindex doesn’t do the same thing at all, even though it sounds like it should from the name of the attribute.


From: Alexander Surkov [mailto:surkov.alexander@gmail.com]
Sent: Friday, January 30, 2015 8:32 AM
To: Bryan Garaventa
Cc: Matthew King; Dominic Mazzoni; Joanmarie Diggs; W3C WAI Protocols & Formats
Subject: Re: aria-rowindex and aria-colindex

Do you have code snippet for that?

On Fri, Jan 30, 2015 at 10:41 AM, Bryan Garaventa <bryan.garaventa@ssbbartgroup.com<mailto:bryan.garaventa@ssbbartgroup.com>> wrote:
I know, my point is that it’s a complicated nesting of elements, and the column association may be difficult to calculate by inference without some mechanism for declaring this.

This may already happen via gridcell+aria-describedby for associating column headers, I’m not sure, but would there ever be a use case where no column headers existed to be referenced? I’m not saying it should, just that it might, especially with the introduction of role=table.

From: Matthew King [mailto:mattking@us.ibm.com<mailto:mattking@us.ibm.com>]
Sent: Friday, January 30, 2015 4:28 AM
To: Bryan Garaventa
Cc: Dominic Mazzoni; Joanmarie Diggs; W3C WAI Protocols & Formats; Alexander Surkov

Subject: RE: aria-rowindex and aria-colindex

Bryan, if it is made into a layout table with role presentation, then there are no columns and rows.

Matt King
IBM Senior Technical Staff Member
I/T Chief Accessibility Strategist
IBM BT/CIO - Global Workforce and Web Process Enablement
Phone: (503) 578-2329<tel:%28503%29%20578-2329>, Tie line: 731-7398
mattking@us.ibm.com<mailto:mattking@us.ibm.com>



From:        Bryan Garaventa <bryan.garaventa@ssbbartgroup.com<mailto:bryan.garaventa@ssbbartgroup.com>>
To:        Alexander Surkov <surkov.alexander@gmail.com<mailto:surkov.alexander@gmail.com>>,
Cc:        Joanmarie Diggs <jdiggs@igalia.com<mailto:jdiggs@igalia.com>>, Dominic Mazzoni <dmazzoni@google.com<mailto:dmazzoni@google.com>>, W3C WAI Protocols & Formats <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Date:        01/29/2015 04:46 PM
Subject:        RE: aria-rowindex and aria-colindex
________________________________



Using an example I’ve seen recently, what happens when you have a table grid structure constructed entirely of Divs that includes nested tables that are taken out of the accessibility tree using role=presentation, and individual rows may not actually have the same number of gridcells contained within each row?

How would the AT/browser calculate which columns are associated with which cells?

From: Alexander Surkov [mailto:surkov.alexander@gmail.com]
Sent: Thursday, January 29, 2015 1:08 PM
To: Bryan Garaventa
Cc: Joanmarie Diggs; Dominic Mazzoni; W3C WAI Protocols & Formats
Subject: Re: aria-rowindex and aria-colindex

As I understand it that was original idea but it looks people agreed that it should not be used to override native ordering. The use case was to skip number of rows and columns in the grid/table; there's no consensus yet on markup how to achieve it.
Thanks.
Alex.

On Thu, Jan 29, 2015 at 2:31 PM, Bryan Garaventa <bryan.garaventa@ssbbartgroup.com<mailto:bryan.garaventa@ssbbartgroup.com>> wrote:
I think I’m misunderstanding the purpose of aria-colindex.

I thought it was to specify X Y coordinates like row3 cell7, but it looks like from this thread that aria-colindex is meant not to do this at all, but to simply specify the number of total columns in a row, is that correct?

If yes, this doesn’t match the functionality of aria-rowindex, which actually is a Y coordinate.


From: Alexander Surkov [mailto:surkov.alexander@gmail.com<mailto:surkov.alexander@gmail.com>]
Sent: Thursday, January 29, 2015 9:51 AM
To: Joanmarie Diggs
Cc: Dominic Mazzoni; W3C WAI Protocols & Formats
Subject: Re: aria-rowindex and aria-colindex



On Wed, Jan 28, 2015 at 4:55 PM, Joanmarie Diggs <jdiggs@igalia.com<mailto:jdiggs@igalia.com>> wrote:
On 01/28/2015 04:11 PM, Alexander Surkov wrote:
> But why? having aria-colindex on cell makes my example possible. It
> doesn't look any better than on row.

From a conceptual and property naming point of view, I think it does
look better on the cell.

In my mind, a "column index" describes the column number in which a
given cell is located. In other words, a "column index" is one half of a
cell's coordinates.

I think here's a problem since your description means that cell can be moved all around the table through columns. In particular the web author can do
<table>
  <tr>
    <td aria-colindex="2">2nd col</td>
   <td aria-colindex="1">1st col</td>
  </tr>
</table>


Also that means it overrides the native semantics that Dominic was against of. I'd say that the column index is a property of *set* of cells and not a property of an individual cell, thus you cannot override column position on the cell itself and thus the cell is not right place for aria-colindex attribute.


What you're describing seems more like the "first
visible column" which, as I believe you suggest in a different response,
is a property of the table.

Naming issues aside, let's say we put this property on the row or table
rather than on the cell.

right, just attribute on the table to specify amount of skipped rows/columns should be good for spreadsheat use case.

What then happens if we have a case where there
is a gap. Like in a spreadsheet in which certain columns are hidden?
What would the value of your property contain?

I wasn't aware of this use case. If cells are hidden then should be they taken into account when counting? Also I'm curious if doesn't mean that native semantics is overridden by that. Otherwise than that the aria-colindex attribute approach can work here but you have to be very cautious defining this attribute. For example, it would worked out if aria-colindex was allowed on cells of the first row only, aria-rowindex was allowed on rows only.
But if we don't want to support this use case then I think I prefer properties right on the table element, plain and easy.



--joanie

Received on Friday, 30 January 2015 17:50:09 UTC