The Atk state types can be found here:
A number of these states are not being exposed when they should be. A comparison with Firefox or with any Gtk+ app should be helpful. (Using Accerciser, view any page and then choose an accessible in the pane on the left. Then use the Interface Viewer, expanding "Accessible" to see the states being exposed for that object.)
That said, of especial/immediate interest are:
because these three states frequently (arguably, almost constantly) impact what a screen reader such as Orca presents to the user interacting with the content being displayed.
Created attachment 31407 [details]
Implement requested states.
For now I'm just doing SHOWING = VISIBLE and ENABLED = SENSITIVE, since I'm not sure how to tell the subtle difference between those in WebCore (specially SHOWING vs VISIBLE, which seems to be a GTK+-ism related to MAPPED vs VISIBLE (as in the visible flag for widgets)).
(In reply to comment #1)
> For now I'm just doing SHOWING = VISIBLE and ENABLED = SENSITIVE, since I'm not
> sure how to tell the subtle difference between those in WebCore (specially
> SHOWING vs VISIBLE, which seems to be a GTK+-ism related to MAPPED vs VISIBLE
> (as in the visible flag for widgets)).
FYI: in GTK, SHOWING is a little more than VISIBLE&&MAPPING, as you said, as it also search if the widget has an antecedent that is a GtkViewPort, to check if the widget intersects with the visible rectangle of the GtkViewPort. I'm not sure if this can affects to WebKit.
And, in the same way, this could be not enough, and a extra condition could be required:
Comment on attachment 31407 [details]
> From 1939ce04b5b0025ffbdfee678a0ec0d52b24bedb Mon Sep 17 00:00:00 2001
> From: Xan Lopez <email@example.com>
> Date: Wed, 17 Jun 2009 13:08:13 +0300
> Subject: [PATCH] 2009-06-17 Xan Lopez <firstname.lastname@example.org>
Assuming you've tested this, r=me. Also please add a the bugzilla.gnome.org bug link (by Alejandro) where appropriate so we can keep track what else is missing.
Assigning to xan for corrections and landing.
Landed with a pointer to the bug pointed by Alejandro in r45252. Closing this now, new bugs can be opened about the issues remaining, if any.