Skip to content
This repository was archived by the owner on Sep 13, 2024. It is now read-only.

Commit a3cc6e0

Browse files
committed
Merge branch 'develop' of https://github.com/AlexTorresSk/custom-electron-titlebar into develop
2 parents e0e35ad + dd7181c commit a3cc6e0

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/menu/menuitem.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,19 @@ export class CETMenuItem extends Disposable implements IMenuItem {
107107
});
108108

109109
this.itemElement = append(this.container, $('a.cet-action-menu-item'));
110-
this.itemElement.setAttribute('role', 'menuitem');
110+
let role = 'menuitem';
111+
switch (this.item.type) {
112+
case 'checkbox':
113+
case 'radio':
114+
role += this.item.type;
115+
break;
116+
case 'separator':
117+
role = this.item.type;
118+
break;
119+
case 'submenu':
120+
this.itemElement.setAttribute('aria-haspopup', 'true');
121+
}
122+
this.itemElement.setAttribute('role', role);
111123

112124
if (this.mnemonic) {
113125
this.itemElement.setAttribute('aria-keyshortcuts', `${this.mnemonic}`);
@@ -327,11 +339,9 @@ export class CETMenuItem extends Disposable implements IMenuItem {
327339
updateChecked(): void {
328340
if (this.item.checked) {
329341
addClass(this.itemElement, 'checked');
330-
this.itemElement.setAttribute('role', 'menuitemcheckbox'+this.item.type);
331342
this.itemElement.setAttribute('aria-checked', 'true');
332343
} else {
333344
removeClass(this.itemElement, 'checked');
334-
this.itemElement.setAttribute('role', 'menuitem');
335345
this.itemElement.setAttribute('aria-checked', 'false');
336346
}
337347
}
@@ -348,7 +358,6 @@ export class CETMenuItem extends Disposable implements IMenuItem {
348358
menuItem.updateIcon();
349359
// updateChecked() *all* radio buttons in group
350360
menuItem.updateChecked();
351-
menuItem
352361
// set the radioGroup property of all the other radio buttons since it was already calculated
353362
if (menuItem !== this) {
354363
menuItem.radioGroup = this.radioGroup;

0 commit comments

Comments
 (0)