[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:51:58 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit fa119893d96b47f3feb3332b2ebc418e87b2f528
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 26 11:42:42 2009 +0000
2009-10-26 Joanmarie Diggs <joanmarie.diggs at gmail.com>
Reviewed by Xan Lopez.
https://bugs.webkit.org/show_bug.cgi?id=25679
[Gtk] Improve accessibility of focusable lists
Fixes the issues with the Atk states exposed for ListBoxOption
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(setAtkStateSetFromCoreObject):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 24eea18..44df1ed 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,18 @@
Reviewed by Xan Lopez.
+ https://bugs.webkit.org/show_bug.cgi?id=25679
+ [Gtk] Improve accessibility of focusable lists
+
+ Fixes the issues with the Atk states exposed for ListBoxOption
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (setAtkStateSetFromCoreObject):
+
+2009-10-26 Joanmarie Diggs <joanmarie.diggs at gmail.com>
+
+ Reviewed by Xan Lopez.
+
https://bugs.webkit.org/show_bug.cgi?id=27085
[Gtk] Incorrect rendering of list
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
index f0d9bfe..e2824dd 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
@@ -370,15 +370,20 @@ static AtkRole webkit_accessible_get_role(AtkObject* object)
static void setAtkStateSetFromCoreObject(AccessibilityObject* coreObject, AtkStateSet* stateSet)
{
- // Please keep the state list in alphabetical order
+ AccessibilityObject* parent = coreObject->parentObject();
+ bool isListBoxOption = parent && parent->isListBox();
+ // Please keep the state list in alphabetical order
if (coreObject->isChecked())
atk_state_set_add_state(stateSet, ATK_STATE_CHECKED);
// FIXME: isReadOnly does not seem to do the right thing for
- // controls, so check explicitly for them
- if (!coreObject->isReadOnly() ||
- (coreObject->isControl() && coreObject->canSetValueAttribute()))
+ // controls, so check explicitly for them. In addition, because
+ // isReadOnly is false for listBoxOptions, we need to add one
+ // more check so that we do not present them as being "editable".
+ if ((!coreObject->isReadOnly() ||
+ (coreObject->isControl() && coreObject->canSetValueAttribute())) &&
+ !isListBoxOption)
atk_state_set_add_state(stateSet, ATK_STATE_EDITABLE);
// FIXME: Put both ENABLED and SENSITIVE together here for now
@@ -408,8 +413,23 @@ static void setAtkStateSetFromCoreObject(AccessibilityObject* coreObject, AtkSta
// TODO: ATK_STATE_SELECTABLE_TEXT
- if (coreObject->isSelected())
+ if (coreObject->canSetSelectedAttribute()) {
+ atk_state_set_add_state(stateSet, ATK_STATE_SELECTABLE);
+ // Items in focusable lists in Gtk have both STATE_SELECT{ABLE,ED}
+ // and STATE_FOCUS{ABLE,ED}. We'll fake the latter based on the
+ // former.
+ if (isListBoxOption)
+ atk_state_set_add_state(stateSet, ATK_STATE_FOCUSABLE);
+ }
+
+ if (coreObject->isSelected()) {
atk_state_set_add_state(stateSet, ATK_STATE_SELECTED);
+ // Items in focusable lists in Gtk have both STATE_SELECT{ABLE,ED}
+ // and STATE_FOCUS{ABLE,ED}. We'll fake the latter based on the
+ // former.
+ if (isListBoxOption)
+ atk_state_set_add_state(stateSet, ATK_STATE_FOCUSED);
+ }
// FIXME: Group both SHOWING and VISIBLE here for now
// Not sure how to handle this in WebKit, see bug
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list