From 64abe10dc4a19128c89864367870bfb249077758 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Mon, 26 Aug 2019 12:47:04 +0100 Subject: [PATCH] Improved accessibility for many editor page components Related to #1320 --- resources/assets/js/components/dropdown.js | 11 ++++++++--- .../assets/js/components/editor-toolbox.js | 2 ++ .../assets/js/vues/components/dropzone.js | 4 ++-- resources/assets/sass/_pages.scss | 4 ++-- .../views/pages/attachment-manager.blade.php | 19 +++++++++++-------- .../views/pages/editor-toolbox.blade.php | 8 ++++---- resources/views/pages/form.blade.php | 8 ++++---- .../pages/template-manager-list.blade.php | 6 +++++- 8 files changed, 38 insertions(+), 24 deletions(-) diff --git a/resources/assets/js/components/dropdown.js b/resources/assets/js/components/dropdown.js index d2fca0556..4de1e239b 100644 --- a/resources/assets/js/components/dropdown.js +++ b/resources/assets/js/components/dropdown.js @@ -118,8 +118,8 @@ class DropDown { } }); - // Arrow navigation - this.container.addEventListener('keydown', event => { + // Keyboard navigation + const keyboardNavigation = event => { if (event.key === 'ArrowDown' || event.key === 'ArrowRight') { this.focusNext(); event.preventDefault(); @@ -128,9 +128,14 @@ class DropDown { event.preventDefault(); } else if (event.key === 'Escape') { this.hide(); + this.toggle.focus(); event.stopPropagation(); } - }); + }; + this.container.addEventListener('keydown', keyboardNavigation); + if (this.moveMenu) { + this.menu.addEventListener('keydown', keyboardNavigation); + } // Hide menu on enter press or escape this.menu.addEventListener('keydown ', event => { diff --git a/resources/assets/js/components/editor-toolbox.js b/resources/assets/js/components/editor-toolbox.js index 10678edfa..354bf0a86 100644 --- a/resources/assets/js/components/editor-toolbox.js +++ b/resources/assets/js/components/editor-toolbox.js @@ -23,6 +23,8 @@ class EditorToolbox { toggle() { this.elem.classList.toggle('open'); + const expanded = this.elem.classList.contains('open') ? 'true' : 'false'; + this.toggleButton.setAttribute('aria-expanded', expanded); } setActiveTab(tabName, openToolbox = false) { diff --git a/resources/assets/js/vues/components/dropzone.js b/resources/assets/js/vues/components/dropzone.js index 751cca330..1c045727f 100644 --- a/resources/assets/js/vues/components/dropzone.js +++ b/resources/assets/js/vues/components/dropzone.js @@ -2,8 +2,8 @@ import DropZone from "dropzone"; import { fadeOut } from "../../services/animations"; const template = ` -
-
{{placeholder}}
+
+
`; diff --git a/resources/assets/sass/_pages.scss b/resources/assets/sass/_pages.scss index be0cc381c..86db8782e 100755 --- a/resources/assets/sass/_pages.scss +++ b/resources/assets/sass/_pages.scss @@ -258,7 +258,7 @@ body.mce-fullscreen .page-editor .edit-area { padding: 0; margin: 0; } - .tabs > span { + .tabs > button { display: block; cursor: pointer; padding: $-s $-m; @@ -266,7 +266,7 @@ body.mce-fullscreen .page-editor .edit-area { line-height: 1.6; border-bottom: 1px solid rgba(255, 255, 255, 0.3); } - &.open .tabs > span.active { + &.open .tabs > button.active { fill: #444; background-color: rgba(0, 0, 0, 0.1); } diff --git a/resources/views/pages/attachment-manager.blade.php b/resources/views/pages/attachment-manager.blade.php index e362b95d5..dd0067804 100644 --- a/resources/views/pages/attachment-manager.blade.php +++ b/resources/views/pages/attachment-manager.blade.php @@ -18,9 +18,12 @@
@@ -31,11 +34,11 @@
{{ trans('entities.attachments_delete_confirm') }}
- {{ trans('common.cancel') }} +
-
@icon('edit')
-
@icon('close')
+ +

@@ -75,8 +78,8 @@

diff --git a/resources/views/pages/editor-toolbox.blade.php b/resources/views/pages/editor-toolbox.blade.php index 3ce4cfbf3..6ea651820 100644 --- a/resources/views/pages/editor-toolbox.blade.php +++ b/resources/views/pages/editor-toolbox.blade.php @@ -1,12 +1,12 @@
- @icon('caret-left-circle') - @icon('tag') + + @if(userCan('attachment-create-all')) - @icon('attach') + @endif - @icon('template') +
diff --git a/resources/views/pages/form.blade.php b/resources/views/pages/form.blade.php index 0d5411e6c..ffc286c2c 100644 --- a/resources/views/pages/form.blade.php +++ b/resources/views/pages/form.blade.php @@ -26,17 +26,17 @@
@@ -44,7 +44,7 @@