[Webkit-unassigned] [Bug 72390] New: [GTK] Do not hide accessibility root object from AT's

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 15 08:55:13 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=72390

           Summary: [GTK] Do not hide accessibility root object from AT's
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Keywords: Gtk
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: msanchez at igalia.com
                CC: mrobinson at webkit.org, cgarcia at igalia.com


As per bug 51932, we made a change some time ago to bypass the root AccessibilityObject when exposing the a11y hierarchy to ATK based Assistive Technologies, in order to keep exposing the webArea object as the root a11y object, instead of the new one: an scrollview (whose child would be the old -well known- webArea object).

To fix this, we needed to tweak a bit the code in WebKitGtk's WebView widget to bypass that scrollview and keep returning the webArea object, as well as to make some changes in the AccessibilityObjectWrapper to fix bottom-up navigation as well (which turned out to be a wrong implementation, as I found out today!), which was a bit hackish and not clean, to say the least. In addition, now we're working in adding a11y support for WebKit2GTK+, we found out that we'd need to make the same bypass hack in the WebProcess, which means duplicating code (and maybe bugs), so we sit down (Joanie and me), talk a bit about it and came to the conclusion that the best thing to do here is to remove the hack, expose the a11y hierarchy as it is now (so the root object is the scrollview, and its child the webArea) and make Orca do the additional tweaks it might need to ignore that scrollview since it doesn't need it (but it could be that other ATs would do).

Of course, making this change would mean shifting the a11y hierarchy and therefore slightly tweaking the ATK unit tests to reflect that, but that seems not a problem at all. It would have been worse if Layout tests were affected by this change, but they are not, since Layout Tests use DRT to get the root object and DRT's implementation already returns the scrollview (no bypass there).

So, wrapping up, the intention of this change is two-fold:

  * Properly expose the true a11y hierarchy (ATs might still choose to ignore the scrollview as the root object)
         ==> Match better WebKit's a11y hierarchy

  * Avoid the need of keeping hacks in WebKit and WebKit2 to artificially bypass the root object (which proved to be buggy, btw)
        ==> Cleaner and less error-prone code

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list