Updates li and a element roles to the appropriate values.
Addresses #8810
on-behalf-of: @ithaka <robert.niznik@ithaka.org>
var $link = $(this);
var $sub = $link.parent();
if(_this.options.parentLink){
- $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li data-is-parent-link class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menuitem"></li>');
+ $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li data-is-parent-link class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="none"></li>');
}
$link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);
$link.children('[data-submenu]')
var subs = this.$element.find('li.is-dropdown-submenu-parent');
this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
- this.$menuItems = this.$element.find('[role="menuitem"]');
- this.$tabs = this.$element.children('[role="menuitem"]');
+ this.$menuItems = this.$element.find('li[role="none"]');
+ this.$tabs = this.$element.children('li[role="none"]');
this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
if (this.options.alignment === 'auto') {
}));
}
this.$menuItems.on('keydown.zf.dropdownMenu', function(e) {
- var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
+ var $element = $(e.target).parentsUntil('ul', '[role="none"]'),
isTab = _this.$tabs.index($element) > -1,
$elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
$prevElement,
const Nest = {
Feather(menu, type = 'zf') {
menu.attr('role', 'menubar');
+ menu.find('a').attr({'role': 'menuitem'});
- var items = menu.find('li').attr({'role': 'menuitem'}),
+ var items = menu.find('li').attr({'role': 'none'}),
subMenuClass = `is-${type}-submenu`,
subItemClass = `${subMenuClass}-item`,
hasSubClass = `is-${type}-submenu-parent`,