Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Issue 1547643002: ARIA 1.1: implementation for aria-col-* and aria-row-*.

Created:
5 years ago by je_julie(Not used)
Modified:
5 years ago
Reviewers:
dmazzoni
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, aboxhall, plundblad+watch_chromium.org, aboxhall+watch_chromium.org, nektar+watch_chromium.org, blink-reviews-html_chromium.org, jam, nektarios, yuzo+watch_chromium.org, blink-reviews, dglazkov+blink, je_julie, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org, blink-reviews-api_chromium.org, dmazzoni
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ARIA 1.1: implementation for aria-col-* and aria-row-*. This patch adds implementation for aria-col-index, aria-col-count, aria- col-span, aria-row-index, aria-row-count, aria-row-span from ARIA 1.1, https://rawgit.com/w3c/aria/master/aria/aria.html. As aria-col-span and aria-row-span are from html attributes without modification, they are not added as ax attr. For windows, aria-col-count, aria-col-index, aria-row-count, aria-row- index, aria-col-span and aria-row-span are exposed as object attribute as FF reference. There is related patches from WebKit, the patch written by Nan Wang< n_wang@apple.com>; wkrev.com/190833. This CL takes some part of it but doesn't take ariaRowSpanWithRowIndex() because it should not affect other attributes which already exist. BUG=543050

Patch Set 1 #

Patch Set 2 : Adds MODULES_EXPORT #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+480 lines, -26 lines) Patch
M content/browser/accessibility/accessibility_tree_formatter_mac.mm View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility.h View 1 chunk +4 lines, -1 line 0 comments Download
M content/browser/accessibility/browser_accessibility.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 7 chunks +51 lines, -5 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 3 chunks +35 lines, -7 lines 1 comment Download
M content/browser/accessibility/dump_accessibility_tree_browsertest.cc View 2 chunks +8 lines, -0 lines 0 comments Download
M content/renderer/accessibility/blink_ax_tree_source.cc View 4 chunks +33 lines, -9 lines 0 comments Download
A content/test/data/accessibility/aria/aria-col-attr.html View 1 chunk +19 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-col-attr-expected-android.txt View 1 chunk +16 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-col-attr-expected-mac.txt View 1 chunk +23 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-col-attr-expected-win.txt View 1 chunk +23 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-row-attr.html View 1 chunk +17 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-row-attr-expected-android.txt View 1 chunk +14 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-row-attr-expected-mac.txt View 1 chunk +18 lines, -0 lines 0 comments Download
A content/test/data/accessibility/aria/aria-row-attr-expected-win.txt View 1 chunk +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLAttributeNames.in View 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXTable.h View 1 chunk +3 lines, -0 lines 1 comment Download
M third_party/WebKit/Source/modules/accessibility/AXTable.cpp View 1 chunk +34 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXTableCell.h View 1 3 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXTableCell.cpp View 3 chunks +28 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXTableRow.h View 1 3 chunks +9 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXTableRow.cpp View 2 chunks +33 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebAXObject.cpp View 1 2 chunks +49 lines, -2 lines 0 comments Download
M third_party/WebKit/public/web/WebAXObject.h View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/accessibility/ax_enums.idl View 1 chunk +6 lines, -0 lines 0 comments Download
M ui/accessibility/ax_node_data.cc View 1 chunk +12 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
je_julie(Not used)
Hi Dominic, This patch has implementation for aria-col-count, index, span and aria-row-count, index, span. I ...
5 years ago (2015-12-22 15:37:28 UTC) #2
dmazzoni
Thanks for working on this! I think you need to make changes to the AXARIAGrid ...
5 years ago (2015-12-22 18:10:04 UTC) #3
je_julie(Not used)
5 years ago (2015-12-23 13:20:22 UTC) #4
On 2015/12/22 18:10:04, dmazzoni wrote:
> Thanks for working on this!
> 
I'm so sorry that it's been a long time since I told that I'll support it.
I'll keep working on it.

> I think you need to make changes to the AXARIAGrid classes too, right?
Because AXARIAGrid is inherited from AXTable and AXARIAGrid returns true for
isAriaTable() as well,
I thought the implementation was enough at AXTable. Do I modify that, too?

> 
> I had hoped that we could keep all of this computation inside Blink and not
make
> the Chromium code have to deal with the differences between ARIA row and
column
> properties and the native ones.
> 
> For example, instead of a table having a columnCount and an ariaColumnCount,
> it'd just have a single columnCount that would be the correct value to expose.
> Then the Chromium code outside of Blink wouldn't care whether the value came
> from the table or from ARIA.
> 
> And I was assuming that the values returned from the IAccessibleTable2 API
would
> be affected too:
> 
>
http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/interface_i_...
> 
> Do you think it would be possible to do it this way?
> 
> I'm not sure how much existing screen readers have any support for these
> attributes, but it seems much better if we could just support their existing
> table APIs, rather than require them to support new attributes in order to
> handle tables.
Before I start to implement them, I read the mail,
"[Accessibility-ia2] aria-colcount and aria-rowcount mapping",
http://lists.linuxfoundation.org/pipermail/accessibility-ia2/2015-June/001900....

If we follow that mail thread, we can see some concern about how to expose them.

The comment below is from Jamie.
"If we kept table interface to reflect actual table structure, and put aria
row/colcount/index into object attributes, then would it work?
I'm not sure what the use case for this was, but regardless, this is
potentially going to require a pretty big change to table interfaces. In
order to do table navigation, screen readers need to be able to navigate
from a given cell to the cell in the next column or the next row, as well
as being able to fetch all cells in a given row or column. If the numbering
is not sequential, we can't simply increase indexes to do this. No API I
know of supports something like this."

The comment below is from Alexander.
"So, groupPosition on a row returns row
count and row index, groupPosition on a cell returns a col count and col
index. Right?"

I think people agree that we need them but don't decide how to expose them.
After I read that mail thread and check FF behavior,
I thought I can add these attributes with object attributes at least.

> 
> If that doesn't work, then we may have to reconsider, but I'd at least like to
> understand that approach better.
I've checked FF and Safari behaviors.
Firefox: They expose them as object attributes.
Safari: They expose aria-*-count and index as new NSAccessibility attributes.   
  

With that investigation, I made first patch for aria-col* and aria-row* support.
WDYT?

Powered by Google App Engine
This is Rietveld 408576698