Closed delucis closed 3 months ago
The replaceWith
will also remove the element's children. The default span
will then be recreated in the following block, but as the user may have customised this, we should probably also move the children to the new button element
sorry.. i got distracted with @scottjehl's new PR that does the same thing: #183... i didnt realize you had already made this! Really appreciate the PR!
I somewhat do prefer the diff in 183 though... That said, please holler if there's a behavior difference we need to address!
Really appreciate the PR!
also... what a delight that you have 2 PRs exactly 2 years apart:
April 11th is Annual lite-youtube PR Day! ❤️
Oh my, I hadn’t noticed — better mark my calendar for next year 😁
Happy to see this fixed 💖
In #124 I naïvely “fixed” the issue of the play button being a link when following the progressive enhancement pattern by removing the
href
attribute.However, this introduced an accessibility issue:
<a>
without anhref
attribute is considered non-interactive, and therefore can’t be tabbed to by keyboard users, preventing them from playing the video.This PR seeks to fix this more correctly by replacing an
<a>
element entirely with a<button>
when the custom element loads. This preserves interactive semantics.To test I loaded the progressive enhancement example. Before this change, the play button is not focusable with the keyboard. After this change, the play button can be focused as expected.