When a webpage is rendered in Webkit, few anonymous blocks are created during rendering. (http://webkit.org/blog/115/webcore-rendering-ii-blocks-and-inlines/). When we invoke inspect32 tool on windows, we could observer that all these anonymous blocks are exposed in accessibility tree. These blocks add more weight to the exposed accessibility tree. Since, these are just added to follow the rules, these can be safely hidden from accessibility tree. (Matching behavior in Firefox 2.0.0.14) ~ Thanks Sankar.
Created attachment 27276 [details] Patch to hide anonymous blocks in accessibility tree This patch is a very simple and small patch. This fix just hides the anonymous blocks in accessibility tree. This patch has already been approved by Jon in bug 20013. But that bug is closed. So, I have created a separate bug to track this issue and also added a new small test case for testing this fix. ~ Thanks Sankar.
this will probably have an impact on mac VoiceOver users who have come to expect to see many groups. I think we should try this change though. It's an easier fix on windows since there is not a long term client base assuming a certain model, we can remove from the Mac side if it becomes problematic
Yeah. This is a very simple fix. So, is this patch accepted for review or shall I make any other changes? ~ Thanks. Sankar. (In reply to comment #2) > this will probably have an impact on mac VoiceOver users who have come to > expect to see many groups. I think we should try this change though. It's an > easier fix on windows since there is not a long term client base assuming a > certain model, we can remove from the Mac side if it becomes problematic >
i think it's worth trying out as is. of course i'm not a reviewer...
Comment on attachment 27276 [details] Patch to hide anonymous blocks in accessibility tree This looks sane to me. I've CC'd Jon in case he has any concerns. Your ChangeLogs still don't show your full name like they should. see CHANGE_LOG_NAME
Committing to http://svn.webkit.org/repository/webkit/trunk ... M LayoutTests/ChangeLog A LayoutTests/accessibility/ignore-anonymous-block-expected.txt A LayoutTests/accessibility/ignore-anonymous-block.html M WebCore/ChangeLog M WebCore/page/AccessibilityRenderObject.cpp Committed r43280
Thanks very much Eric for committing this patch. I will follow your inputs in comment #6 in my next patch. Thanks Sankar.
Rolled out: Committing to http://svn.webkit.org/repository/webkit/trunk ... D LayoutTests/accessibility/ignore-anonymous-block-expected.txt D LayoutTests/accessibility/ignore-anonymous-block.html M LayoutTests/ChangeLog M WebCore/ChangeLog M WebCore/page/AccessibilityRenderObject.cpp Committed r43284 It caused 8 layout tests to fail.
which layout tests? i can imagine this will cause a few layout tests to fail since a few layout tests are just AX hierarchy dumps, which would include anonymous blocks.
Patch needs to include any new layout test expectations.