hangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegram
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
/** */ |
|
Ext.define('Ext.aria.container.Viewport', { |
|
override: 'Ext.container.Viewport', |
|
|
|
initComponent: function() { |
|
var me = this, |
|
items = me.items, |
|
layout = me.layout, |
|
i, len, item, el; |
|
|
|
if (items && layout === 'border' || (Ext.isObject(layout) && layout.type === 'border')) { |
|
for (i = 0, len = items.length; i < len; i++) { |
|
item = items[i]; |
|
|
|
if (item.region) { |
|
Ext.applyIf(item, { |
|
ariaRole: 'region', |
|
headerRole: 'heading' |
|
}); |
|
} |
|
} |
|
} |
|
|
|
me.callParent(); |
|
}, |
|
|
|
ariaGetAfterRenderAttributes: function() { |
|
var attrs = this.callParent(); |
|
|
|
// Viewport's role attribute is applied to the element that is never rendered, |
|
// so we have to do it post factum |
|
attrs.role = this.ariaRole; |
|
|
|
// Viewport should not have a label, document title should be announced instead |
|
delete attrs['aria-label']; |
|
delete attrs['aria-labelledby']; |
|
|
|
return attrs; |
|
} |
|
});
|
|
|