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

Issue 59663005: Update the accessibility tree when a modal dialog is opened/closed. (Closed)

Created:
7 years, 1 month ago by falken
Modified:
7 years, 1 month ago
Reviewers:
dmazzoni
CC:
blink-reviews, dglazkov+blink, dmazzoni, adamk+blink_chromium.org, aboxhall
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Update the accessibility tree when a modal dialog is opened/closed. When a node's inertness changes, we must notify the AX tree since the node may need to be added or removed from the tree. This patch does the following. 1) When an modal dialog opens/closes, essentially we traverse the AX tree and call notifyIfIgnoredValueChanged on each object. However, once an object is found whose ignored value changed, it's not necessary to descend into its subtree by virtue of the childrenCleared/addChild mechanism. An earlier attempt called notifyIfIgnoredValueChanged only on immediate children of the HTMLBodyElement. This is insufficient because siblings of <dialog> are roots of newly (or formerly) inert subtrees, and some objects are not descendants of body due to renderer reparenting (e.g. modal dialogs). 2) Modifies AXObject::isInertOrAriaHidden to climb the AX tree until an object with non-null node() is found, when evaluating inertness. This is necessary because some objects such as one created with MenuListPopupRole don't have a node, but should be considered inert. The test for this patch is Chrome-side: https://codereview.chromium.org/64273003 BUG=304779 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=161595

Patch Set 1 #

Total comments: 6

Patch Set 2 : review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+41 lines, -8 lines) Patch
M Source/core/accessibility/AXObject.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/accessibility/AXObject.cpp View 1 2 chunks +10 lines, -7 lines 0 comments Download
M Source/core/accessibility/AXObjectCache.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/accessibility/AXObjectCache.cpp View 1 1 chunk +16 lines, -0 lines 0 comments Download
M Source/core/html/HTMLDialogElement.cpp View 1 4 chunks +12 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
falken
Dominic, Could you please review? This is spun off of https://codereview.chromium.org/53423003/
7 years, 1 month ago (2013-11-07 13:29:45 UTC) #1
dmazzoni
lgtm I think this will cover all of the cases. Thanks! https://codereview.chromium.org/59663005/diff/1/Source/core/accessibility/AXObject.cpp File Source/core/accessibility/AXObject.cpp (right): ...
7 years, 1 month ago (2013-11-07 16:35:58 UTC) #2
falken
Thanks! Will make the suggested changes, just one a comment for now. https://codereview.chromium.org/59663005/diff/1/Source/core/html/HTMLDialogElement.cpp File Source/core/html/HTMLDialogElement.cpp ...
7 years, 1 month ago (2013-11-07 23:54:57 UTC) #3
falken
https://codereview.chromium.org/59663005/diff/1/Source/core/accessibility/AXObject.cpp File Source/core/accessibility/AXObject.cpp (right): https://codereview.chromium.org/59663005/diff/1/Source/core/accessibility/AXObject.cpp#newcode292 Source/core/accessibility/AXObject.cpp:292: bool canBeInInertSubtree = true; On 2013/11/07 16:35:59, Dominic Mazzoni ...
7 years, 1 month ago (2013-11-08 05:08:35 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/59663005/90001
7 years, 1 month ago (2013-11-08 05:09:20 UTC) #5
commit-bot: I haz the power
Retried try job too often on linux_blink_rel for step(s) weborigin_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_blink_rel&number=11667
7 years, 1 month ago (2013-11-08 06:09:52 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/59663005/90001
7 years, 1 month ago (2013-11-08 06:22:23 UTC) #7
commit-bot: I haz the power
Retried try job too often on linux_blink_rel for step(s) weborigin_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_blink_rel&number=11699
7 years, 1 month ago (2013-11-08 07:27:27 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/59663005/90001
7 years, 1 month ago (2013-11-08 08:13:37 UTC) #9
commit-bot: I haz the power
Retried try job too often on linux_blink_rel for step(s) weborigin_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_blink_rel&number=11749
7 years, 1 month ago (2013-11-08 09:14:58 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/59663005/90001
7 years, 1 month ago (2013-11-08 09:52:43 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/falken@chromium.org/59663005/90001
7 years, 1 month ago (2013-11-08 10:02:10 UTC) #12
commit-bot: I haz the power
7 years, 1 month ago (2013-11-08 10:04:51 UTC) #13
Message was sent while issue was closed.
Change committed as 161595

Powered by Google App Engine
This is Rietveld 408576698