Changeset 127882 in webkit
- Timestamp:
- Sep 7, 2012 10:07:25 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r127878 r127882 1 2012-09-07 Dominic Mazzoni <dmazzoni@google.com> 2 3 AX: ARIA spin button should support range value attributes 4 https://bugs.webkit.org/show_bug.cgi?id=96076 5 6 Reviewed by Chris Fleizach. 7 8 Test that an ARIA spin button exposes ARIA range attributes like 9 aria-valuenow, aria-valuemin, etc. 10 11 * accessibility/spinbutton-value-expected.txt: Added. 12 * accessibility/spinbutton-value.html: Added. 13 1 14 2012-09-07 Christophe Dumez <christophe.dumez@intel.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r127880 r127882 1 2012-09-07 Dominic Mazzoni <dmazzoni@google.com> 2 3 AX: ARIA spin button should support range value attributes 4 https://bugs.webkit.org/show_bug.cgi?id=96076 5 6 Reviewed by Chris Fleizach. 7 8 Make an ARIA spin button support ARIA range attributes like 9 aria-valuenow, aria-valuemin, etc. - just like slider, progressbar, 10 and scrollbar. 11 12 Test: accessibility/spinbutton-value.html 13 14 * accessibility/AccessibilityObject.h: 15 (WebCore::AccessibilityObject::isSpinButton): 16 * accessibility/AccessibilityRenderObject.cpp: 17 (WebCore::AccessibilityRenderObject::valueDescription): 18 (WebCore): 19 (WebCore::AccessibilityRenderObject::isAriaRange): 20 (WebCore::AccessibilityRenderObject::valueForRange): 21 (WebCore::AccessibilityRenderObject::maxValueForRange): 22 (WebCore::AccessibilityRenderObject::minValueForRange): 23 (WebCore::AccessibilityRenderObject::stringValue): 24 (WebCore::AccessibilityRenderObject::title): 25 (WebCore::AccessibilityRenderObject::isGenericFocusableElement): 26 (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): 27 * accessibility/AccessibilityRenderObject.h: 28 (AccessibilityRenderObject): 29 * accessibility/mac/WebAccessibilityObjectWrapper.mm: 30 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): 31 1 32 2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> 2 33 -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r127370 r127882 1557 1557 return SortDirectionNone; 1558 1558 } 1559 1560 bool AccessibilityObject::supportsRangeValue() const 1561 { 1562 return isProgressIndicator() 1563 || isSlider() 1564 || isScrollbar() 1565 || isSpinButton(); 1566 } 1559 1567 1560 1568 bool AccessibilityObject::supportsARIAExpanded() const -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r127370 r127882 367 367 virtual bool isMenuListPopup() const { return false; } 368 368 virtual bool isMenuListOption() const { return false; } 369 virtual bool isSpinButton() const { return false; }369 virtual bool isSpinButton() const { return roleValue() == SpinButtonRole; } 370 370 virtual bool isSpinButtonPart() const { return false; } 371 371 virtual bool isMockObject() const { return false; } … … 462 462 AccessibilitySortDirection sortDirection() const; 463 463 virtual bool canvasHasFallbackContent() const { return false; } 464 bool supportsRangeValue() const; 464 465 465 466 // ARIA drag and drop -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
r127368 r127882 1157 1157 String AccessibilityRenderObject::valueDescription() const 1158 1158 { 1159 // Only sliders and progress bars support value descriptions currently. 1160 if (!isProgressIndicator() && !isSlider()) 1159 if (!isARIARange()) 1161 1160 return String(); 1162 1161 … … 1168 1167 return getAttribute(stepAttr).toFloat(); 1169 1168 } 1169 1170 bool AccessibilityRenderObject::isARIARange() const 1171 { 1172 return m_ariaRole == ProgressIndicatorRole 1173 || m_ariaRole == SliderRole 1174 || m_ariaRole == ScrollBarRole 1175 || m_ariaRole == SpinButtonRole; 1176 } 1170 1177 1171 1178 float AccessibilityRenderObject::valueForRange() const 1172 1179 { 1173 if (!is ProgressIndicator() && !isSlider() && !isScrollbar())1180 if (!isARIARange()) 1174 1181 return 0.0f; 1175 1182 … … 1179 1186 float AccessibilityRenderObject::maxValueForRange() const 1180 1187 { 1181 if (!is ProgressIndicator() && !isSlider())1188 if (!isARIARange()) 1182 1189 return 0.0f; 1183 1190 … … 1187 1194 float AccessibilityRenderObject::minValueForRange() const 1188 1195 { 1189 if (!is ProgressIndicator() && !isSlider())1196 if (!isARIARange()) 1190 1197 return 0.0f; 1191 1198 … … 1399 1406 break; 1400 1407 } 1401 1408 1402 1409 if (isHeading() || isLink()) 1403 1410 return textUnderElement(); … … 3141 3148 return false; 3142 3149 3150 // If it has an aria role, it's not generic. 3151 if (m_ariaRole != UnknownRole) 3152 return false; 3153 3143 3154 // If the content editable attribute is set on this element, that's the reason 3144 3155 // it's focusable, and existing logic should handle this case already - so it's not a … … 3377 3388 case ImageRole: 3378 3389 case ProgressIndicatorRole: 3390 case SpinButtonRole: 3379 3391 // case SeparatorRole: 3380 3392 return true; -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h
r126970 r127882 303 303 // This returns true if it's focusable but it's not content editable and it's not a control or ARIA control. 304 304 bool isGenericFocusableElement() const; 305 bool isARIARange() const; 305 306 306 307 void addTextFieldChildren(); -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm
r127084 r127882 2000 2000 return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityValueAttribute]; 2001 2001 } 2002 if (m_object-> isProgressIndicator() || m_object->isSlider() || m_object->isScrollbar())2002 if (m_object->supportsRangeValue()) 2003 2003 return [NSNumber numberWithFloat:m_object->valueForRange()]; 2004 2004 if (m_object->roleValue() == SliderThumbRole) -
trunk/Source/WebKit/chromium/ChangeLog
r127876 r127882 1 2012-09-07 Dominic Mazzoni <dmazzoni@google.com> 2 3 AX: ARIA spin button should support range value attributes 4 https://bugs.webkit.org/show_bug.cgi?id=96076 5 6 Reviewed by Chris Fleizach. 7 8 Expose supportsRangeValue to simplify Chromium logic for when to 9 extract a value from a range. 10 11 * public/WebAccessibilityObject.h: 12 (WebAccessibilityObject): 13 * src/WebAccessibilityObject.cpp: 14 (WebKit::WebAccessibilityObject::supportsRangeValue): 15 (WebKit): 16 1 17 2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> 2 18 -
trunk/Source/WebKit/chromium/public/WebAccessibilityObject.h
r126932 r127882 150 150 WEBKIT_EXPORT WebURL url() const; 151 151 152 WEBKIT_EXPORT bool supportsRangeValue() const; 152 153 WEBKIT_EXPORT WebString valueDescription() const; 153 154 WEBKIT_EXPORT float valueForRange() const; -
trunk/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
r127540 r127882 611 611 } 612 612 613 bool WebAccessibilityObject::supportsRangeValue() const 614 { 615 if (isDetached()) 616 return false; 617 618 return m_private->supportsRangeValue(); 619 } 620 613 621 WebString WebAccessibilityObject::valueDescription() const 614 622 { -
trunk/Tools/ChangeLog
r127875 r127882 1 2012-09-07 Dominic Mazzoni <dmazzoni@google.com> 2 3 New time input needs accessibility 4 https://bugs.webkit.org/show_bug.cgi?id=96032 5 6 Reviewed by Chris Fleizach. 7 8 Add support for valueDescription for testing. 9 10 * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: 11 (getValueDescription): 12 (AccessibilityUIElement::AccessibilityUIElement): 13 (AccessibilityUIElement::valueDescriptionGetterCallback): 14 * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h: 15 (AccessibilityUIElement): 16 1 17 2012-09-07 Peter Beverloo <peter@chromium.org> 2 18 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp
r127084 r127882 252 252 } 253 253 254 string getValueDescription(const WebAccessibilityObject& object) 255 { 256 string valueDescription = object.valueDescription().utf8(); 257 return valueDescription.insert(0, "AXValueDescription: "); 258 } 259 254 260 string getAttributes(const WebAccessibilityObject& object) 255 261 { … … 304 310 bindProperty("minValue", &AccessibilityUIElement::minValueGetterCallback); 305 311 bindProperty("maxValue", &AccessibilityUIElement::maxValueGetterCallback); 312 bindProperty("valueDescription", &AccessibilityUIElement::valueDescriptionGetterCallback); 306 313 bindProperty("childrenCount", &AccessibilityUIElement::childrenCountGetterCallback); 307 314 bindProperty("insertionPointLineNumber", &AccessibilityUIElement::insertionPointLineNumberGetterCallback); … … 453 460 } 454 461 462 void AccessibilityUIElement::valueDescriptionGetterCallback(CppVariant* result) 463 { 464 result->set(getValueDescription(accessibilityObject())); 465 } 466 455 467 void AccessibilityUIElement::childrenCountGetterCallback(CppVariant* result) 456 468 { -
trunk/Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h
r124581 r127882 72 72 void minValueGetterCallback(CppVariant*); 73 73 void maxValueGetterCallback(CppVariant*); 74 void valueDescriptionGetterCallback(CppVariant*); 74 75 void childrenCountGetterCallback(CppVariant*); 75 76 void insertionPointLineNumberGetterCallback(CppVariant*);
Note: See TracChangeset
for help on using the changeset viewer.