Diff
Modified: branches/safari-608-branch/LayoutTests/ChangeLog (248054 => 248055)
--- branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-31 20:56:03 UTC (rev 248054)
+++ branches/safari-608-branch/LayoutTests/ChangeLog 2019-07-31 20:56:08 UTC (rev 248055)
@@ -1,3 +1,47 @@
+2019-07-31 Alan Coon <[email protected]>
+
+ Cherry-pick r247891. rdar://problem/53764053
+
+ Expose the aria-label attribute for <video> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=200169
+ <rdar://problem/51754558>
+
+ Patch by Andres Gonzalez <[email protected]> on 2019-07-27
+ Reviewed by Chris Fleizach.
+
+ Source/WebCore:
+
+ Tests: accessibility/ios-simulator/media-with-aria-label.html
+ accessibility/media-with-aria-label.html
+
+ We now expose the <video> element to accessibility clients as long as auto-play is not enabled.
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityIsWebInteractiveVideo]):
+
+ LayoutTests:
+
+ * accessibility/ios-simulator/media-with-aria-label-expected.txt: Added.
+ * accessibility/ios-simulator/media-with-aria-label.html: Added.
+ * accessibility/media-with-aria-label-expected.txt: Added.
+ * accessibility/media-with-aria-label.html: Added.
+ * platform/win/TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-07-27 Andres Gonzalez <[email protected]>
+
+ Expose the aria-label attribute for <video> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=200169
+ <rdar://problem/51754558>
+
+ Reviewed by Chris Fleizach.
+
+ * accessibility/ios-simulator/media-with-aria-label-expected.txt: Added.
+ * accessibility/ios-simulator/media-with-aria-label.html: Added.
+ * accessibility/media-with-aria-label-expected.txt: Added.
+ * accessibility/media-with-aria-label.html: Added.
+ * platform/win/TestExpectations:
+
2019-07-29 Alan Coon <[email protected]>
Cherry-pick r247880. rdar://problem/53647903
Added: branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label-expected.txt (0 => 248055)
--- branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label-expected.txt (rev 0)
+++ branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label-expected.txt 2019-07-31 20:56:08 UTC (rev 248055)
@@ -0,0 +1,13 @@
+
+
+This tests ensures that aria-label is conveyed for video and audio elements.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS video1.description is 'AXLabel: Video One, indefinite time'
+PASS audio1.description is 'AXLabel: Audio One, 0 seconds, indefinite time'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label.html (0 => 248055)
--- branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label.html (rev 0)
+++ branches/safari-608-branch/LayoutTests/accessibility/ios-simulator/media-with-aria-label.html 2019-07-31 20:56:08 UTC (rev 248055)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<html>
+<head>
+<script src=""
+</head>
+<body>
+
+<video id="video1" width=100 height=100 controls aria-label="Video One"></video>
+
+<br>
+
+<audio id="audio1" width=100 height=100 controls aria-label="Audio One"></audio>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+ description("This tests ensures that aria-label is conveyed for video and audio elements.")
+
+ if (window.accessibilityController) {
+ var video1 = accessibilityController.accessibleElementById("video1");
+ shouldBe("video1.description", "'AXLabel: Video One, indefinite time'");
+ var audio1 = accessibilityController.accessibleElementById("audio1");
+ shouldBe("audio1.description", "'AXLabel: Audio One, 0 seconds, indefinite time'");
+ }
+</script>
+<script src=""
+</body>
+</html>
Added: branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label-expected.txt (0 => 248055)
--- branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label-expected.txt (rev 0)
+++ branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label-expected.txt 2019-07-31 20:56:08 UTC (rev 248055)
@@ -0,0 +1,13 @@
+
+
+This tests ensures that aria-label is conveyed for video and audio elements.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS video1.description is 'AXDescription: Video One'
+PASS audio1.description is 'AXDescription: Audio One'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label.html (0 => 248055)
--- branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label.html (rev 0)
+++ branches/safari-608-branch/LayoutTests/accessibility/media-with-aria-label.html 2019-07-31 20:56:08 UTC (rev 248055)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<html>
+<head>
+<script src=""
+</head>
+<body>
+
+<video id="video1" width=100 height=100 controls aria-label="Video One"></video>
+
+<br>
+
+<audio id="audio1" width=100 height=100 controls aria-label="Audio One"></audio>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+ description("This tests ensures that aria-label is conveyed for video and audio elements.")
+
+ if (window.accessibilityController) {
+ var video1 = accessibilityController.accessibleElementById("video1");
+ shouldBe("video1.description", "'AXDescription: Video One'");
+ var audio1 = accessibilityController.accessibleElementById("audio1");
+ shouldBe("audio1.description", "'AXDescription: Audio One'");
+ }
+</script>
+<script src=""
+</body>
+</html>
Modified: branches/safari-608-branch/LayoutTests/platform/win/TestExpectations (248054 => 248055)
--- branches/safari-608-branch/LayoutTests/platform/win/TestExpectations 2019-07-31 20:56:03 UTC (rev 248054)
+++ branches/safari-608-branch/LayoutTests/platform/win/TestExpectations 2019-07-31 20:56:08 UTC (rev 248055)
@@ -1700,6 +1700,7 @@
# Not implemented on Win
accessibility/insert-newline.html [ Skip ]
+accessibility/media-with-aria-label.html [ Skip ]
################################################################################
####################### End Accessibility Issues ###########################
Modified: branches/safari-608-branch/Source/WebCore/ChangeLog (248054 => 248055)
--- branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-31 20:56:03 UTC (rev 248054)
+++ branches/safari-608-branch/Source/WebCore/ChangeLog 2019-07-31 20:56:08 UTC (rev 248055)
@@ -1,3 +1,48 @@
+2019-07-31 Alan Coon <[email protected]>
+
+ Cherry-pick r247891. rdar://problem/53764053
+
+ Expose the aria-label attribute for <video> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=200169
+ <rdar://problem/51754558>
+
+ Patch by Andres Gonzalez <[email protected]> on 2019-07-27
+ Reviewed by Chris Fleizach.
+
+ Source/WebCore:
+
+ Tests: accessibility/ios-simulator/media-with-aria-label.html
+ accessibility/media-with-aria-label.html
+
+ We now expose the <video> element to accessibility clients as long as auto-play is not enabled.
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityIsWebInteractiveVideo]):
+
+ LayoutTests:
+
+ * accessibility/ios-simulator/media-with-aria-label-expected.txt: Added.
+ * accessibility/ios-simulator/media-with-aria-label.html: Added.
+ * accessibility/media-with-aria-label-expected.txt: Added.
+ * accessibility/media-with-aria-label.html: Added.
+ * platform/win/TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2019-07-27 Andres Gonzalez <[email protected]>
+
+ Expose the aria-label attribute for <video> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=200169
+ <rdar://problem/51754558>
+
+ Reviewed by Chris Fleizach.
+
+ Tests: accessibility/ios-simulator/media-with-aria-label.html
+ accessibility/media-with-aria-label.html
+
+ We now expose the <video> element to accessibility clients as long as auto-play is not enabled.
+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityIsWebInteractiveVideo]):
+
2019-07-29 Alan Coon <[email protected]>
Cherry-pick r247880. rdar://problem/53647903
Modified: branches/safari-608-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (248054 => 248055)
--- branches/safari-608-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2019-07-31 20:56:03 UTC (rev 248054)
+++ branches/safari-608-branch/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm 2019-07-31 20:56:08 UTC (rev 248055)
@@ -682,13 +682,12 @@
{
if (![self _prepareAccessibilityCall])
return NO;
-
- // Only make the video object interactive if it plays inline and has no native controls.
+
if (m_object->roleValue() != AccessibilityRole::Video || !is<AccessibilityMediaObject>(m_object))
return NO;
-
- AccessibilityMediaObject* mediaObject = downcast<AccessibilityMediaObject>(m_object);
- return !mediaObject->isAutoplayEnabled() && mediaObject->isPlayingInline() && !downcast<AccessibilityMediaObject>(m_object)->hasControlsAttributeSet();
+
+ // Convey the video object as interactive if auto-play is not enabled.
+ return !downcast<AccessibilityMediaObject>(*m_object).isAutoplayEnabled();
}
- (NSString *)interactiveVideoDescription