Title: [220041] trunk
Revision
220041
Author
[email protected]
Date
2017-07-29 03:00:33 -0700 (Sat, 29 Jul 2017)

Log Message

AX: FKA: Buttons need a visible focus indicator
https://bugs.webkit.org/show_bug.cgi?id=171040
<rdar://problem/30922548>

Patch by Aaron Chu <[email protected]> on 2017-07-29
Reviewed by Antoine Quint.

Source/WebCore:

Added a background color for the focus state of the icon buttons in modern media controls.

Test: media/modern-media-controls/button/button-focus-state.html

* Modules/modern-media-controls/controls/button.css:
(button:focus):
(button:focus > picture):
* Modules/modern-media-controls/controls/slider.css:
(.slider > input):

LayoutTests:

* media/modern-media-controls/button/button-focus-state-expected.txt: Added.
* media/modern-media-controls/button/button-focus-state.html: Added.
* platform/ios-simulator/TestExpectations:
* platform/mac-elcapitan/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (220040 => 220041)


--- trunk/LayoutTests/ChangeLog	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/LayoutTests/ChangeLog	2017-07-29 10:00:33 UTC (rev 220041)
@@ -1,3 +1,16 @@
+2017-07-29  Aaron Chu  <[email protected]>
+
+        AX: FKA: Buttons need a visible focus indicator
+        https://bugs.webkit.org/show_bug.cgi?id=171040
+        <rdar://problem/30922548>
+
+        Reviewed by Antoine Quint.
+
+        * media/modern-media-controls/button/button-focus-state-expected.txt: Added.
+        * media/modern-media-controls/button/button-focus-state.html: Added.
+        * platform/ios-simulator/TestExpectations:
+        * platform/mac-elcapitan/TestExpectations:
+
 2017-07-28  Sam Weinig  <[email protected]>
 
         [WebIDL] Remove JS builtin bindings for FetchHeaders

Added: trunk/LayoutTests/media/modern-media-controls/button/button-focus-state-expected.txt (0 => 220041)


--- trunk/LayoutTests/media/modern-media-controls/button/button-focus-state-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-focus-state-expected.txt	2017-07-29 10:00:33 UTC (rev 220041)
@@ -0,0 +1,14 @@
+Testing an IconButton has a blue background-color when focused.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Confirm inital icon button color.
+PASS window.getComputedStyle(button.image.element).backgroundColor is "rgba(255, 255, 255, 0.54902)"
+Confirm icon button color changed after focus.
+PASS window.getComputedStyle(button.image.element).backgroundColor is not "rgba(255, 255, 255, 0.54902)"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+

Added: trunk/LayoutTests/media/modern-media-controls/button/button-focus-state.html (0 => 220041)


--- trunk/LayoutTests/media/modern-media-controls/button/button-focus-state.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-focus-state.html	2017-07-29 10:00:33 UTC (rev 220041)
@@ -0,0 +1,31 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+description("Testing an <code>IconButton</code> has a blue background-color when focused.");
+
+window.jsTestIsAsync = true;
+
+const button = new Button({ layoutDelegate: { layoutTraits: LayoutTraits.macOS }, iconName: Icons.Pause });
+document.body.appendChild(button.element);
+
+
+scheduler.frameDidFire = function ()
+{
+
+debug("Confirm inital icon button color.");
+shouldBeEqualToString("window.getComputedStyle(button.image.element).backgroundColor", "rgba(255, 255, 255, 0.54902)");
+
+button.element.focus();
+
+debug("Confirm icon button color changed after focus.");
+shouldNotBeEqualToString("window.getComputedStyle(button.image.element).backgroundColor", "rgba(255, 255, 255, 0.54902)");
+
+finishJSTest();
+
+}
+
+</script>
+<script src=""
+</body>
\ No newline at end of file

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (220040 => 220041)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-07-29 10:00:33 UTC (rev 220041)
@@ -124,6 +124,9 @@
 media/modern-media-controls/placard-support/ipad [ Skip ]
 media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html [ Skip ]
 
+# There is no focus state for on iOS
+media/modern-media-controls/button/button-focus-state.html [ Skip ]
+
 # These tests rely on fullscreen which do not use the WebKit media controls on iOS
 media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-parent-element.html [ Skip ]
 media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-video.html [ Skip ]

Modified: trunk/LayoutTests/platform/mac-elcapitan/TestExpectations (220040 => 220041)


--- trunk/LayoutTests/platform/mac-elcapitan/TestExpectations	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/LayoutTests/platform/mac-elcapitan/TestExpectations	2017-07-29 10:00:33 UTC (rev 220041)
@@ -5,3 +5,4 @@
 fast/forms/search-vertical-alignment.html [ Skip ]
 fast/forms/number/number-appearance-spinbutton-layer.html [ Skip ]
 media/modern-media-controls/pip-support [ Skip ]
+media/modern-media-controls/button/button-focus-state.html [ Skip ]

Modified: trunk/Source/WebCore/ChangeLog (220040 => 220041)


--- trunk/Source/WebCore/ChangeLog	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/Source/WebCore/ChangeLog	2017-07-29 10:00:33 UTC (rev 220041)
@@ -1,3 +1,21 @@
+2017-07-29  Aaron Chu  <[email protected]>
+
+        AX: FKA: Buttons need a visible focus indicator
+        https://bugs.webkit.org/show_bug.cgi?id=171040
+        <rdar://problem/30922548>
+
+        Reviewed by Antoine Quint.
+
+        Added a background color for the focus state of the icon buttons in modern media controls.
+
+        Test: media/modern-media-controls/button/button-focus-state.html
+
+        * Modules/modern-media-controls/controls/button.css:
+        (button:focus):
+        (button:focus > picture):
+        * Modules/modern-media-controls/controls/slider.css:
+        (.slider > input):
+
 2017-07-28  Sam Weinig  <[email protected]>
 
         [WebIDL] Remove JS builtin bindings for FetchHeaders

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/button.css (220040 => 220041)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/button.css	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/button.css	2017-07-29 10:00:33 UTC (rev 220041)
@@ -50,6 +50,15 @@
     pointer-events: none;
 }
 
+button:focus {
+    outline: none;
+}
+
+button:focus > picture {
+    background-color: -webkit-focus-ring-color !important;
+    mix-blend-mode: normal !important;
+}
+
 button.skip-back > picture,
 button.play-pause > picture,
 button.skip-forward > picture {

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.css (220040 => 220041)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.css	2017-07-29 02:39:38 UTC (rev 220040)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.css	2017-07-29 10:00:33 UTC (rev 220041)
@@ -81,8 +81,12 @@
     height: 100%;
     background-color: transparent;
     -webkit-appearance: none !important;
+    /* Disabling this for now because the outline is visualy inconsistent with the button 
+       focus state. Tracking at https://bugs.webkit.org/show_bug.cgi?id=174906 */
+    outline: none;
 }
 
+
 .ios .slider > input {
     /* On iOS only, we want to only capture events on the thumb and not the track. */
     pointer-events: none;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to