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

Issue 2812003004: A treegrid should expose its rows in MSAA/IA2 as outlineitems. (Closed)

Created:
3 years, 8 months ago by aleventhal
Modified:
3 years, 8 months ago
Reviewers:
dmazzoni
CC:
chromium-reviews, aboxhall+watch_chromium.org, nektar+watch_chromium.org, jam, yuzo+watch_chromium.org, dougt+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, je_julie
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

A treegrid should expose its rows in MSAA/IA2 as outlineitems. This makes NVDA work slightly better -- announces levels at the beginning of items. BUG=710046 Review-Url: https://codereview.chromium.org/2812003004 Cr-Commit-Position: refs/heads/master@{#464732} Committed: https://chromium.googlesource.com/chromium/src/+/0e81c42f0794ac126f6414861e8632df8907d913

Patch Set 1 : For now, just change treegrid test to use ROLE_SYSTEM_OUTLINEITEM -- should fail as the new code is still commented out. #

Patch Set 2 : Choose a different MSAA role for role=row depending on the container #

Patch Set 3 : If child of rowgroup, check another ancestor up #

Patch Set 4 : Use rowgroup in a test of outline role logic #

Patch Set 5 : git cl format #

Patch Set 6 : Fix compiler errors #

Patch Set 7 : Fix more compiler errors #

Patch Set 8 : Fix android and mac tests #

Patch Set 9 : Look at ARIA role when ax role is table. Only check one level up in rowgroup case. Don't look for t… #

Total comments: 1

Patch Set 10 : Fix test for aria-level #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -8 lines) Patch
M content/browser/accessibility/browser_accessibility_win.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 4 5 6 7 8 2 chunks +22 lines, -2 lines 4 comments Download
M content/test/data/accessibility/aria/aria-level-expected-win.txt View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M content/test/data/accessibility/aria/aria-treegrid.html View 1 2 3 1 chunk +8 lines, -1 line 0 comments Download
M content/test/data/accessibility/aria/aria-treegrid-expected-android.txt View 1 2 3 4 5 6 7 1 chunk +6 lines, -1 line 0 comments Download
M content/test/data/accessibility/aria/aria-treegrid-expected-mac.txt View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M content/test/data/accessibility/aria/aria-treegrid-expected-win.txt View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -2 lines 0 comments Download

Messages

Total messages: 48 (38 generated)
aleventhal
Ready for review. https://codereview.chromium.org/2812003004/diff/30003/content/browser/accessibility/browser_accessibility_win.h File content/browser/accessibility/browser_accessibility_win.h (right): https://codereview.chromium.org/2812003004/diff/30003/content/browser/accessibility/browser_accessibility_win.h#newcode923 content/browser/accessibility/browser_accessibility_win.h:923: static bool IsInTreeGrid(const BrowserAccessibility* item); Not ...
3 years, 8 months ago (2017-04-12 15:36:31 UTC) #28
aleventhal
3 years, 8 months ago (2017-04-12 18:13:20 UTC) #37
aleventhal
3 years, 8 months ago (2017-04-12 18:13:24 UTC) #38
dmazzoni
lgtm https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc#newcode5615 content/browser/accessibility/browser_accessibility_win.cc:5615: (role == ui::AX_ROLE_TABLE && Can you add a ...
3 years, 8 months ago (2017-04-12 20:35:12 UTC) #39
aleventhal
On 2017/04/12 20:35:12, dmazzoni_ooo_until_april_17 wrote: > lgtm > > https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc > File content/browser/accessibility/browser_accessibility_win.cc (right): > ...
3 years, 8 months ago (2017-04-14 14:16:56 UTC) #40
aleventhal
On 2017/04/12 20:35:12, dmazzoni_ooo_until_april_17 wrote: > lgtm > > https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc > File content/browser/accessibility/browser_accessibility_win.cc (right): > ...
3 years, 8 months ago (2017-04-14 14:16:59 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2812003004/170001
3 years, 8 months ago (2017-04-14 14:17:18 UTC) #43
commit-bot: I haz the power
Committed patchset #10 (id:170001) as https://chromium.googlesource.com/chromium/src/+/0e81c42f0794ac126f6414861e8632df8907d913
3 years, 8 months ago (2017-04-14 16:04:22 UTC) #46
aleventhal
Questions for your questions. https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://codereview.chromium.org/2812003004/diff/170001/content/browser/accessibility/browser_accessibility_win.cc#newcode5615 content/browser/accessibility/browser_accessibility_win.cc:5615: (role == ui::AX_ROLE_TABLE && On ...
3 years, 8 months ago (2017-04-17 22:06:42 UTC) #47
dmazzoni
3 years, 8 months ago (2017-04-17 22:43:35 UTC) #48
Message was sent while issue was closed.
On 2017/04/17 22:06:42, aleventhal wrote:
> I was following the code in InitRoleAndState() here:
>
https://cs.chromium.org/chromium/src/content/browser/accessibility/browser_ac...

Yeah, let's fix both as a follow-up.

> When I just checked for AX_ROLE_TREE_GRID my new tests failed. I took the
lines
> above as an indication that it was the correct way to check for a treegrid. Is
> it not?

It was a quick hack, not completely horrible but it'd be better to fix it.

We tolerated that a lot more back before we forked WebKit, because to add
another WebKit role we'd have to convince Apple we needed it too. Now we have no
excuse not to just add a new role and it's not that much work, so we should try
to clean stuff like that up when we see it.

>
https://codereview.chromium.org/2812003004/diff/170001/content/browser/access...
> content/browser/accessibility/browser_accessibility_win.cc:5616:
> container->GetString16Attribute(ui::AX_ATTR_ROLE) == L"treegrid");
> On 2017/04/12 20:35:12, dmazzoni_ooo_until_april_17 wrote:
> > nit: call GetStringAttribute(ui::AX_ATTR_ROLE) == "treegrid" instead - when
> > you're just doing a string comparison, that will return an existing object
> > reference, while GetString16Attribute needs to convert.
> 
> Assuming we keep this code, should I change it in the other place referenced
> above as well?

Yes. Also historical in that at one point the string16 was the "natural" form of
the
string, but we switched it to std::string, so we should use std::string whenever
they're otherwise equally good.

All of the Windows APIs want string16 so most of that file uses string16.

Powered by Google App Engine
This is Rietveld 408576698