Title: [185649] trunk
- Revision
- 185649
- Author
- [email protected]
- Date
- 2015-06-17 07:13:30 -0700 (Wed, 17 Jun 2015)
Log Message
AX: input role="spinbutton" gets skipped in voiceover
https://bugs.webkit.org/show_bug.cgi?id=145514
Reviewed by Mario Sanchez Prada.
SpinButton role was added, but left out of iOS.
To prevent this from happening again, explicitly list every role in the switch statement that
determines accessible visibility.
Test: platform/ios-simulator/accessibility/spinbutton.html
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper isAccessibilityElement]):
Modified Paths
Added Paths
Diff
Added: trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton-expected.txt (0 => 185649)
--- trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton-expected.txt 2015-06-17 14:13:30 UTC (rev 185649)
@@ -0,0 +1,12 @@
+button
+This test makes sure that spinbuttons appear.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS button.description is 'AXLabel: spinner'
+PASS button.isIgnored is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton.html (0 => 185649)
--- trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton.html (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator/accessibility/spinbutton.html 2015-06-17 14:13:30 UTC (rev 185649)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+<script>
+var successfullyParsed = false;
+if (window.testRunner)
+ testRunner.dumpAsText();
+</script>
+</head>
+<body>
+
+<div id="fakeButton" tabindex=0 role="spinbutton" aria-label="spinner">button</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This test makes sure that spinbuttons appear.");
+
+ if (window.accessibilityController) {
+
+ var button = accessibilityController.accessibleElementById("fakeButton");
+ shouldBe("button.description", "'AXLabel: spinner'");
+ shouldBeFalse("button.isIgnored");
+ }
+
+ successfullyParsed = true;
+</script>
+
+<script src=""
+
+</body>
+</html>
+
Modified: trunk/Source/WebCore/ChangeLog (185648 => 185649)
--- trunk/Source/WebCore/ChangeLog 2015-06-17 07:45:51 UTC (rev 185648)
+++ trunk/Source/WebCore/ChangeLog 2015-06-17 14:13:30 UTC (rev 185649)
@@ -1,3 +1,20 @@
+2015-06-17 Chris Fleizach <[email protected]>
+
+ AX: input role="spinbutton" gets skipped in voiceover
+ https://bugs.webkit.org/show_bug.cgi?id=145514
+
+ Reviewed by Mario Sanchez Prada.
+
+ SpinButton role was added, but left out of iOS.
+ To prevent this from happening again, explicitly list every role in the switch statement that
+ determines accessible visibility.
+
+ Test: platform/ios-simulator/accessibility/spinbutton.html
+
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
+ (-[WebAccessibilityObjectWrapper isAccessibilityElement]):
+
2015-06-17 Xabier Rodriguez Calvar <[email protected]> and Youenn Fablet <[email protected]>
[Streams API] ReadableJSStream should handle promises returned by JS source pull callback
Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (185648 => 185649)
--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2015-06-17 07:45:51 UTC (rev 185648)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2015-06-17 14:13:30 UTC (rev 185649)
@@ -638,8 +638,11 @@
case MenuButtonRole:
case ValueIndicatorRole:
case ImageRole:
+ case ImageMapLinkRole:
case ProgressIndicatorRole:
case MenuItemRole:
+ case MenuItemCheckboxRole:
+ case MenuItemRadioRole:
case IncrementorRole:
case ComboBoxRole:
case DisclosureTriangleRole:
@@ -649,8 +652,10 @@
case TabRole:
case DocumentMathRole:
case HorizontalRuleRole:
+ case SliderThumbRole:
case SwitchRole:
case SearchFieldRole:
+ case SpinButtonRole:
return true;
case StaticTextRole:
{
@@ -682,40 +687,105 @@
return true;
FALLTHROUGH;
// All other elements are ignored on the iphone.
- default:
- case UnknownRole:
- case TabGroupRole:
- case ScrollAreaRole:
- case TableRole:
+ case AnnotationRole:
case ApplicationRole:
- case RadioGroupRole:
- case ListRole:
- case ListBoxRole:
- case ScrollBarRole:
- case MenuBarRole:
- case MenuRole:
+ case ApplicationAlertRole:
+ case ApplicationAlertDialogRole:
+ case ApplicationDialogRole:
+ case ApplicationLogRole:
+ case ApplicationMarqueeRole:
+ case ApplicationStatusRole:
+ case ApplicationTimerRole:
+ case AudioRole:
+ case BlockquoteRole:
+ case BrowserRole:
+ case BusyIndicatorRole:
+ case CanvasRole:
+ case CaptionRole:
+ case CellRole:
+ case ColorWellRole:
case ColumnRole:
- case RowRole:
- case ToolbarRole:
- case BusyIndicatorRole:
- case WindowRole:
+ case ColumnHeaderRole:
+ case DefinitionRole:
+ case DescriptionListRole:
+ case DescriptionListTermRole:
+ case DescriptionListDetailRole:
+ case DetailsRole:
+ case DirectoryRole:
+ case DivRole:
+ case DocumentRole:
+ case DocumentArticleRole:
+ case DocumentNoteRole:
+ case DocumentRegionRole:
case DrawerRole:
- case SystemWideRole:
- case OutlineRole:
- case BrowserRole:
- case SplitGroupRole:
- case SplitterRole:
- case ColorWellRole:
+ case EditableTextRole:
+ case FooterRole:
+ case FormRole:
+ case GridRole:
case GrowAreaRole:
- case SheetRole:
case HelpTagRole:
+ case IgnoredRole:
+ case InlineRole:
+ case LabelRole:
+ case LandmarkApplicationRole:
+ case LandmarkBannerRole:
+ case LandmarkComplementaryRole:
+ case LandmarkContentInfoRole:
+ case LandmarkMainRole:
+ case LandmarkNavigationRole:
+ case LandmarkSearchRole:
+ case LegendRole:
+ case ListRole:
+ case ListBoxRole:
+ case ListItemRole:
+ case MathElementRole:
case MatteRole:
+ case MenuRole:
+ case MenuBarRole:
+ case MenuListPopupRole:
+ case MenuListOptionRole:
+ case OutlineRole:
+ case ParagraphRole:
+ case PreRole:
+ case PresentationalRole:
+ case RadioGroupRole:
+ case RowHeaderRole:
+ case RowRole:
+ case RubyBaseRole:
+ case RubyBlockRole:
+ case RubyInlineRole:
+ case RubyRunRole:
+ case RubyTextRole:
case RulerRole:
case RulerMarkerRole:
- case GridRole:
+ case ScrollAreaRole:
+ case ScrollBarRole:
+ case SheetRole:
+ case SpinButtonPartRole:
+ case SplitGroupRole:
+ case SplitterRole:
+ case SummaryRole:
+ case SystemWideRole:
+ case SVGRootRole:
+ case TabGroupRole:
+ case TabListRole:
+ case TabPanelRole:
+ case TableRole:
+ case TableHeaderContainerRole:
+ case TreeRole:
+ case TreeItemRole:
+ case TreeGridRole:
+ case ToolbarRole:
+ case UnknownRole:
+ case UserInterfaceTooltipRole:
+ case VideoRole:
case WebAreaRole:
+ case WindowRole:
return false;
}
+
+ ASSERT_NOT_REACHED();
+ return false;
}
- (BOOL)isAccessibilityElement
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes