diff --git a/news/changelog-1.11.md b/news/changelog-1.11.md index 9cecf846cd3..9b43a42fec2 100644 --- a/news/changelog-1.11.md +++ b/news/changelog-1.11.md @@ -42,6 +42,7 @@ All changes included in 1.11: - ([#15079](https://github.com/quarto-dev/quarto-cli/issues/15079)): Fix keyboard focus in `revealjs` presentations moving to the page when coming back to the presentation's browser tab, which took readers off the link or chart they were on and made screen readers stop passing the arrow keys to the presentation. (author: @jooyoungseo) - ([#15080](https://github.com/quarto-dev/quarto-cli/issues/15080)): Fix footnote, citation, cross-reference and code annotation popups not closing with Esc, and staying open over the next focused element after keyboard focus leaves them. - ([#15129](https://github.com/quarto-dev/quarto-cli/issues/15129)): Fix default listings rendering an empty, focusable metadata link for posts with no date, author or other listed field to show, flagged by axe-core (`link-name`). +- ([#15159](https://github.com/quarto-dev/quarto-cli/issues/15159), [#15160](https://github.com/quarto-dev/quarto-cli/issues/15160)): Fix the `revealjs` speaker view's Layout selector having no accessible name or visible keyboard focus, and its current slide, upcoming slide, time, and notes areas not being named regions. Changing layouts no longer forwards control keys to the slides, and the slide navigation buttons no longer introduce an unrelated complementary landmark. (author: @jooyoungseo) ## Formats diff --git a/package/src/common/patches/revealjs-0004-speaker-view-accessibility.patch b/package/src/common/patches/revealjs-0004-speaker-view-accessibility.patch new file mode 100644 index 00000000000..e005cdfadae --- /dev/null +++ b/package/src/common/patches/revealjs-0004-speaker-view-accessibility.patch @@ -0,0 +1,118 @@ +diff --git a/js/controllers/controls.js b/js/controllers/controls.js +index 3d150da..5913bbf 100644 +--- a/js/controllers/controls.js ++++ b/js/controllers/controls.js +@@ -35,7 +35,7 @@ export default class Controls { + const rtl = this.Reveal.getConfig().rtl; + const revealElement = this.Reveal.getRevealElement(); + +- this.element = document.createElement( 'aside' ); ++ this.element = document.createElement( 'div' ); + this.element.className = 'controls'; + this.element.innerHTML = + ` +@@ -276,4 +276,4 @@ export default class Controls { + + } + +-} +\ No newline at end of file ++} +diff --git a/plugin/notes/speaker-view.html b/plugin/notes/speaker-view.html +index 55bc01f..5653edc 100644 +--- a/plugin/notes/speaker-view.html ++++ b/plugin/notes/speaker-view.html +@@ -206,6 +206,11 @@ + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + } + ++ #speaker-layout:focus-within { ++ outline: 2px solid currentColor; ++ outline-offset: 3px; ++ } ++ + #speaker-layout select:focus { + outline: none; + box-shadow: none; +@@ -308,10 +313,10 @@ + +