Title: [219500] trunk
Revision
219500
Author
commit-qu...@webkit.org
Date
2017-07-14 00:07:49 -0700 (Fri, 14 Jul 2017)

Log Message

AX: VoiceOver silent or skipping over time values on media player.
https://bugs.webkit.org/show_bug.cgi?id=174324
<rdar://problem/32021784>

Patch by Aaron Chu <aaron_...@apple.com> on 2017-07-14
Reviewed by Antoine Quint.

Added role attribute to modern media controls time lable class so that VoiceOver can access the time label when the media is playing.

Source/WebCore:

Updated: media/modern-media-controls/time-label/time-label.html

* Modules/modern-media-controls/controls/time-label.js:

LayoutTests:

* media/modern-media-controls/time-label/time-label-expected.txt:
* media/modern-media-controls/time-label/time-label.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (219499 => 219500)


--- trunk/LayoutTests/ChangeLog	2017-07-14 06:39:08 UTC (rev 219499)
+++ trunk/LayoutTests/ChangeLog	2017-07-14 07:07:49 UTC (rev 219500)
@@ -1,3 +1,16 @@
+2017-07-14  Aaron Chu  <aaron_...@apple.com>
+
+        AX: VoiceOver silent or skipping over time values on media player.
+        https://bugs.webkit.org/show_bug.cgi?id=174324
+        <rdar://problem/32021784>
+
+        Reviewed by Antoine Quint.
+
+        Added role attribute to modern media controls time lable class so that VoiceOver can access the time label when the media is playing.
+
+        * media/modern-media-controls/time-label/time-label-expected.txt:
+        * media/modern-media-controls/time-label/time-label.html:
+
 2017-07-13  Matt Lewis  <jlew...@apple.com>
 
         Skipped multiple http/tests/webrtc/ test on iOS simulator.

Modified: trunk/LayoutTests/media/modern-media-controls/time-label/time-label-expected.txt (219499 => 219500)


--- trunk/LayoutTests/media/modern-media-controls/time-label/time-label-expected.txt	2017-07-14 06:39:08 UTC (rev 219499)
+++ trunk/LayoutTests/media/modern-media-controls/time-label/time-label-expected.txt	2017-07-14 07:07:49 UTC (rev 219500)
@@ -14,6 +14,8 @@
 
 PASS elaspedLabel is "Elapsed"
 PASS remainingLabel is "Remaining"
+PASS accessibilityController.accessibleElementById('remaining').role is "AXRole: AXStaticText"
+PASS accessibilityController.accessibleElementById('elasped').role is "AXRole: AXStaticText"
 
 elapsedTimeLabels[3].element.textContent = 0:01
 elapsedTimeLabels[3].width = 27

Modified: trunk/LayoutTests/media/modern-media-controls/time-label/time-label.html (219499 => 219500)


--- trunk/LayoutTests/media/modern-media-controls/time-label/time-label.html	2017-07-14 06:39:08 UTC (rev 219499)
+++ trunk/LayoutTests/media/modern-media-controls/time-label/time-label.html	2017-07-14 07:07:49 UTC (rev 219500)
@@ -31,7 +31,12 @@
 
 const remainingTimeLabel = new TimeLabel(TimeLabel.Types.Remaining);
 remainingTimeLabel.element.id = "remaining";
+remainingTimeLabel.setValueWithNumberOfDigits(0, 4);
 
+const elaspedTimeLabel = new TimeLabel(TimeLabel.Types.Elasped);
+elaspedTimeLabel.element.id = "elasped";
+elaspedTimeLabel.setValueWithNumberOfDigits(0, 4);
+
 let style;
 let elaspedLabel;
 let remainingLabel;
@@ -39,6 +44,8 @@
 {
     document.body.appendChild(timeLabel.element);
     document.body.appendChild(remainingTimeLabel.element);
+    document.body.appendChild(elaspedTimeLabel.element);
+
     style = window.getComputedStyle(timeLabel.element);
 
     shouldBeEqualToString("style.position", "absolute");
@@ -49,12 +56,16 @@
     debug(`NaNTimeLabel.element.textContent = ${NaNTimeLabel.element.textContent}`);
 
     debug("");
-    elaspedLabel = accessibilityController.accessibleElementById('elasped').description.split(": ")[1];
-    remainingLabel = accessibilityController.accessibleElementById('remaining').description.split(": ")[1];
+
+    elaspedLabel = elaspedTimeLabel.element.getAttribute("aria-label").split(":")[0];
+    remainingLabel = remainingTimeLabel.element.getAttribute("aria-label").split(":")[0];
     shouldBeEqualToString("elaspedLabel", "Elapsed");
     shouldBeEqualToString("remainingLabel", "Remaining");
+    shouldBeEqualToString("accessibilityController.accessibleElementById('remaining').role", "AXRole: AXStaticText");
+    shouldBeEqualToString("accessibilityController.accessibleElementById('elasped').role", "AXRole: AXStaticText");
     timeLabel.element.remove();
     remainingTimeLabel.element.remove();
+    elaspedTimeLabel.element.remove();
 
     for (numberOfDigits of digits) {
         debug("");

Modified: trunk/Source/WebCore/ChangeLog (219499 => 219500)


--- trunk/Source/WebCore/ChangeLog	2017-07-14 06:39:08 UTC (rev 219499)
+++ trunk/Source/WebCore/ChangeLog	2017-07-14 07:07:49 UTC (rev 219500)
@@ -1,3 +1,17 @@
+2017-07-14  Aaron Chu  <aaron_...@apple.com>
+
+        AX: VoiceOver silent or skipping over time values on media player.
+        https://bugs.webkit.org/show_bug.cgi?id=174324
+        <rdar://problem/32021784>
+
+        Reviewed by Antoine Quint.
+
+        Added role attribute to modern media controls time lable class so that VoiceOver can access the time label when the media is playing.
+
+        Updated: media/modern-media-controls/time-label/time-label.html
+
+        * Modules/modern-media-controls/controls/time-label.js:
+
 2017-07-13  Michael Catanzaro  <mcatanz...@igalia.com>
 
         Fix compiler warnings when building with GCC 7

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/time-label.js (219499 => 219500)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/time-label.js	2017-07-14 06:39:08 UTC (rev 219499)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/time-label.js	2017-07-14 07:07:49 UTC (rev 219500)
@@ -42,7 +42,7 @@
 
     constructor(type)
     {
-        super(`<div class="time-label"></div>`);
+        super(`<div role="text" class="time-label"></div>`);
 
         this._type = type;
         this.setValueWithNumberOfDigits(0, 4);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to