* @private
*/
_init() {
+ var _this = this;
+
this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem');
this.$element.attr({
- 'role': 'menu',
+ 'role': 'tree',
'aria-multiselectable': this.options.multiOpen
});
$sub = $elem.children('[data-submenu]'),
subId = $sub[0].id || GetYoDigits(6, 'acc-menu'),
isActive = $sub.hasClass('is-active');
- $elem.attr({
- 'aria-controls': subId,
- 'aria-expanded': isActive,
- 'id': linkId
- });
+
+
+ if(_this.options.submenuToggle) {
+ $elem.addClass('has-submenu-toggle');
+ $elem.children('a').after('<button id="' + linkId + '" class="submenu-toggle" aria-controls="' + subId + '" aria-expanded="' + isActive + '" title="' + _this.options.submenuToggleText + '"><span class="submenu-toggle-text">' + _this.options.submenuToggleText + '</span></button>');
+ } else {
+ $elem.attr({
+ 'aria-controls': subId,
+ 'aria-expanded': isActive,
- 'role': 'menuitem',
+ 'id': linkId
+ });
+ }
$sub.attr({
'aria-labelledby': linkId,
'aria-hidden': !isActive,