Index: webkit/glue/webaccessibility.cc |
=================================================================== |
--- webkit/glue/webaccessibility.cc (revision 60480) |
+++ webkit/glue/webaccessibility.cc (working copy) |
@@ -227,19 +227,32 @@ |
if (o.isChecked()) |
state |= (1 << WebAccessibility::STATE_CHECKED); |
+ if (o.isCollapsed()) |
+ state |= (1 << WebAccessibility::STATE_COLLAPSED); |
+ |
if (o.canSetFocusAttribute()) |
state |= (1 << WebAccessibility::STATE_FOCUSABLE); |
if (o.isFocused()) |
state |= (1 << WebAccessibility::STATE_FOCUSED); |
+ if (o.roleValue() == WebKit::WebAccessibilityRolePopUpButton) { |
+ state |= (1 << WebAccessibility::STATE_HASPOPUP); |
+ |
+ if (!o.isCollapsed()) |
+ state |= (1 << WebAccessibility::STATE_EXPANDED); |
+ } |
+ |
if (o.isHovered()) |
state |= (1 << WebAccessibility::STATE_HOTTRACKED); |
if (o.isIndeterminate()) |
state |= (1 << WebAccessibility::STATE_INDETERMINATE); |
- if (o.isAnchor()) |
+ if (!o.isVisible()) |
+ state |= (1 << WebAccessibility::STATE_INVISIBLE); |
+ |
+ if (o.isLinked()) |
state |= (1 << WebAccessibility::STATE_LINKED); |
if (o.isMultiSelectable()) |
@@ -257,6 +270,12 @@ |
if (o.isReadOnly()) |
state |= (1 << WebAccessibility::STATE_READONLY); |
+ if (o.canSetSelectedAttribute()) |
+ state |= (1 << WebAccessibility::STATE_SELECTABLE); |
+ |
+ if (o.isSelected()) |
+ state |= (1 << WebAccessibility::STATE_SELECTED); |
+ |
if (o.isVisited()) |
state |= (1 << WebAccessibility::STATE_TRAVERSED); |