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 () {