Skip to content

Commit fb4778e

Browse files
committed
NavigationSidebar: use "title" attribute in SVG for collapse/expand accessibility text
1 parent 8afd18c commit fb4778e

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/components/NavigationSidebar.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,17 @@
1818
<button class="button is-text cve-button-submenu-toggle"
1919
@click="submenuObj.hasOwnProperty('items') && toggleSubmenuItem(`/${nav.path}/${submenuObj.path}`)"
2020
:class="{'is-hidden': !submenuObj.hasOwnProperty('items')}"
21-
:aria-expanded="selectedSubmenu.includes(`/${nav.path}/${submenuObj.path}`) ? 'true' : 'false'"
21+
:aria-expanded="isExpanded(submenuObj) ? 'true' : 'false'"
2222
:aria-controls="submenuObj.id + 'nav'">
2323
<span class="icon cve-icon-xxs">
24-
<p :id="'navExpandCollapseAltText' + submenuObj.id" class="is-hidden">
25-
{{!selectedSubmenu.includes(`/${nav.path}/${submenuObj.path}`) ? 'collapse' : 'expand'}}
26-
</p>
27-
<font-awesome-icon class="icon" :icon="selectedSubmenu.includes(`/${nav.path}/${submenuObj.path}`) ? 'minus' : 'plus'"
24+
<font-awesome-icon class="icon"
25+
:icon="isExpanded(submenuObj) ? 'minus' : 'plus'"
26+
:title="isExpanded(submenuObj) ? 'collapse' : 'expand'"
2827
aria-hidden="false" focusable="true" :aria-labelledby="'navExpandCollapseAltText' + submenuObj.id"/>
2928
</span>
3029
</button>
3130
</span>
32-
<ul v-if="selectedSubmenu.includes(`/${nav.path}/${submenuObj.path}`)" :id="submenuObj.id + 'nav'">
31+
<ul v-if="isExpanded(submenuObj)" :id="submenuObj.id + 'nav'">
3332
<li v-for="(submenuItem, label) in submenuObj.items" :key="`${submenuObj.id}-${label}`">
3433
<router-link :class="isExactPath(`/${nav.path}/${submenuObj.path}#${submenuItem.anchorId}`) ? '' : 'cve-not-active-link'"
3534
:to="`/${nav.path}/${submenuObj.path}#${submenuItem.anchorId}`" >{{ submenuItem.label }}</router-link>
@@ -60,6 +59,9 @@ export default {
6059
};
6160
},
6261
methods: {
62+
isExpanded(submenuObj) {
63+
return this.selectedSubmenu.includes(`/${this.nav.path}/${submenuObj.path}`);
64+
},
6365
toggleSubmenuItem(path) {
6466
if (this.selectedSubmenu.includes(path)) {
6567
const index = this.selectedSubmenu.indexOf(path);

0 commit comments

Comments
 (0)