From f3e3e1b9843f82f57b79e7ea7ff3d52d9ddc4b32 Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Mon, 1 Aug 2022 10:23:55 +0100 Subject: [PATCH] Update: Add missing aria attribution for tabs (#78) --- js/ResourcesView.js | 10 +++++-- templates/resources.hbs | 63 ++++++++++++++++++++++------------------- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/js/ResourcesView.js b/js/ResourcesView.js index 7ec504a..0e5ac8c 100644 --- a/js/ResourcesView.js +++ b/js/ResourcesView.js @@ -34,11 +34,17 @@ export default class ResourcesView extends Backbone.View { onFilterClicked(e) { if (e && e.preventDefault) e.preventDefault(); + const $resources = this.$('#resources'); + const $clickedButton = this.$(e.currentTarget); + const clickedTabId = $clickedButton.attr('id'); + this.$('.js-resources-filter-btn-click').removeClass('is-selected').attr('aria-selected', false); - this.$(e.currentTarget).attr('aria-selected', true); + + $resources.attr('aria-labelledby', clickedTabId); + $clickedButton.attr('aria-selected', true); let items; - const filter = $(e.currentTarget).addClass('is-selected').attr('data-filter'); + const filter = $clickedButton.addClass('is-selected').attr('data-filter'); if (filter === 'all') { items = this.$('.js-resources-item').removeClass('u-display-none'); } else { diff --git a/templates/resources.hbs b/templates/resources.hbs index 85b09d8..1a54e2e 100644 --- a/templates/resources.hbs +++ b/templates/resources.hbs @@ -2,30 +2,31 @@ {{import_globals}}
- {{{a11y_aria_label _globals._extensions._resources.resources}}} {{#resources_has_multiple_types resources}}
- {{#resources_has_type resources 'document'}} - {{/resources_has_type}} {{#resources_has_type resources 'media'}} - {{/resources_has_type}} {{#resources_has_type resources 'link'}} - {{/resources_has_type}} @@ -34,39 +35,43 @@
{{/resources_has_multiple_types}} -