diff --git a/CHANGELOG.md b/CHANGELOG.md index 330b2650..39976756 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,9 @@ ## Unreleased - [Bump redcarpet to 3.5.1 to fix CVE-2020-26298](https://github.com/alphagov/tech-docs-gem/pull/226) +- [#238: Move the aria-expanded attribute to the correct element](https://github.com/alphagov/tech-docs-gem/pull/238) - [#240: Update menu html structure so it's one single hierarchical list](https://github.com/alphagov/tech-docs-gem/pull/240) -- [244: Don't change the focus of the page on initial load](https://github.com/alphagov/tech-docs-gem/pull/244) +- [#244: Don't change the focus of the page on initial load](https://github.com/alphagov/tech-docs-gem/pull/244) ## 2.3.0 diff --git a/lib/assets/javascripts/_modules/collapsible-navigation.js b/lib/assets/javascripts/_modules/collapsible-navigation.js index 2c03c662..4e4f6426 100644 --- a/lib/assets/javascripts/_modules/collapsible-navigation.js +++ b/lib/assets/javascripts/_modules/collapsible-navigation.js @@ -34,10 +34,9 @@ arrayOfIds.push(uniqueId) $(this).addClass('collapsible__body') .attr('id', uniqueId) - .attr('aria-expanded', 'false') }) $heading.addClass('collapsible__heading') - .after('') + .after('') $topLevelItem.on('click', '.collapsible__toggle', function (e) { e.preventDefault() var $parent = $(this).parent() @@ -47,14 +46,15 @@ } function toggleHeading ($topLevelItem) { - var isOpen = $topLevelItem.hasClass('is-open') + var setOpen = !$topLevelItem.hasClass('is-open') + var $heading = $topLevelItem.find('> a') - var $body = $topLevelItem.find('.collapsible__body') + var $button = $topLevelItem.find('.collapsible__toggle') var $toggleLabel = $topLevelItem.find('.collapsible__toggle-label') - $topLevelItem.toggleClass('is-open', !isOpen) - $body.attr('aria-expanded', isOpen ? 'false' : 'true') - $toggleLabel.text(isOpen ? 'Expand ' + $heading.text() : 'Collapse ' + $heading.text()) + $topLevelItem.toggleClass('is-open', setOpen) + $button.attr('aria-expanded', setOpen ? 'true' : 'false') + $toggleLabel.text(setOpen ? 'Collapse ' + $heading.text() : 'Expand ' + $heading.text()) } function openActiveHeading () {