diff --git a/app/assets/javascripts/templateFolderForm.js b/app/assets/javascripts/templateFolderForm.js index 2c25398d4..2f97a24b6 100644 --- a/app/assets/javascripts/templateFolderForm.js +++ b/app/assets/javascripts/templateFolderForm.js @@ -19,10 +19,10 @@ this.states = [ {key: 'nothing-selected-buttons', $el: this.$form.find('#nothing_selected'), cancellable: false}, {key: 'items-selected-buttons', $el: this.$form.find('#items_selected'), cancellable: false}, - {key: 'move-to-existing-folder', $el: this.$form.find('#move_to_folder_radios'), cancellable: true, setFocus: this.getFocusRoutine('#move_to_folder_radios fieldset', true)}, + {key: 'move-to-existing-folder', $el: this.$form.find('#move_to_folder_radios'), cancellable: true, setFocus: this.getFocusRoutine('#move_to_folder_radios legend', true)}, {key: 'move-to-new-folder', $el: this.$form.find('#move_to_new_folder_form'), cancellable: true, setFocus: this.getFocusRoutine('#move_to_new_folder_name', false)}, {key: 'add-new-folder', $el: this.$form.find('#add_new_folder_form'), cancellable: true, setFocus: this.getFocusRoutine('#add_new_folder_name', false)}, - {key: 'add-new-template', $el: this.$form.find('#add_new_template_form'), cancellable: true, setFocus: this.getFocusRoutine('#add_new_template_form fieldset', true)} + {key: 'add-new-template', $el: this.$form.find('#add_new_template_form'), cancellable: true, setFocus: this.getFocusRoutine('#add_new_template_form legend', true)} ]; // cancel/clear buttons only relevant if JS enabled, so @@ -47,9 +47,15 @@ this.getFocusRoutine = function (selector, setTabindex) { return function () { let $el = $(selector); + let removeTabindex = (e) => { + $(e.target) + .removeAttr('tabindex') + .off('blur', removeTabindex); + }; if (setTabindex) { $el.attr('tabindex', '-1'); + $el.on('blur', removeTabindex); } $el.focus(); diff --git a/app/assets/stylesheets/components/stick-at-top-when-scrolling.scss b/app/assets/stylesheets/components/stick-at-top-when-scrolling.scss index 44f21d426..a787710cd 100644 --- a/app/assets/stylesheets/components/stick-at-top-when-scrolling.scss +++ b/app/assets/stylesheets/components/stick-at-top-when-scrolling.scss @@ -4,18 +4,17 @@ .js-stick-at-top-when-scrolling, .js-stick-at-bottom-when-scrolling { - @extend %contain-floats; + overflow: hidden; margin-left: -$gutter-half; padding: 10px 0 0 $gutter-half; position: relative; - fieldset:focus { - outline: solid 3px $focus-colour; - outline-offset: $gutter-half; - } - .form-group { margin-bottom: 20px; + + legend { + outline: none; + } } .back-to-top-link { @@ -52,7 +51,7 @@ margin-top: -$vertical-padding; & + .js-stick-at-bottom-when-scrolling { - margin-top: ($vertical-padding * 2) * -1; + margin-top: ($sticky-padding * 2) * -1; } .page-footer { diff --git a/app/templates/views/templates/_move_to.html b/app/templates/views/templates/_move_to.html index 871e94687..b538142ca 100644 --- a/app/templates/views/templates/_move_to.html +++ b/app/templates/views/templates/_move_to.html @@ -29,14 +29,11 @@
-
- Add a new template -
- {{ radios(templates_and_folders_form.add_template_by_template_type) }} -
-
- {{ page_footer('Continue', button_name='operation', button_value='add-new-template') }} -
-
+
+ {{ radios(templates_and_folders_form.add_template_by_template_type) }} +
+
+ {{ page_footer('Continue', button_name='operation', button_value='add-new-template') }} +
diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index dfc593c44..9a4f0f3ae 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -320,7 +320,7 @@ def test_should_show_new_template_choices_if_service_has_folder_permission( if not page.select('#add_new_template_form'): raise ElementNotFound() - assert normalize_spaces(page.select_one('#add_new_template_form fieldset fieldset legend').text) == ( + assert normalize_spaces(page.select_one('#add_new_template_form fieldset legend').text) == ( 'Add new' ) assert [