Моя проблема в том, что мне нужно добавить к элементам меню некоторое форматирование стиля - и я застрял между элементами меню, имеющими форматирование, и элементами меню, недоступными с клавиатуры.
Если использовать кнопку без какого-либо форматирования стиля, она доступна через клавиатура.
Например, если я реализую это таким образом, используя компонент кнопки для пункта меню, он будет нормально работать с клавиатурой:
Вот содержимое моего .html-файла:
Код: Выделить всё
Click Me
Код: Выделить всё
@Component({
standalone: false,
selector: 'app-navigation',
templateUrl: './navigation.component.html',
styleUrls: ['./navigation.component.scss']
})
export class NavigationComponent implements OnInit {
items: MenuItem[];
constructor() {
this.items = [
{
label: 'File',
items: [
{ label: 'New', icon: 'pi pi-fw pi-plus' },
{ label: 'Open', icon: 'pi pi-fw pi-download' }
]
},
{
label: 'Edit',
items: [
{ label: 'Undo', icon: 'pi pi-fw pi-refresh' }
]
}
];
}
ngOnInit() {
}
}

Однако проблема в том, что я хочу добавить немного стиля к кнопке. Он должен быть больше похож на пункт меню, чем на кнопку. Однако как только я это сделаю, он станет недоступен с клавиатуры.
Если я добавлю следующий стиль из таблицы стилей .scss:
Код: Выделить всё
.dropdown .dropbtn {
font-size: 16px;
border: none;
outline: none;
color: white;
padding: 14px 16px;
background-color: inherit;
text-align: left;
cursor: pointer;
font-family: inherit; /* Important for vertical align on mobile phones */
margin: 0; /* Important for vertical align on mobile phones */
}
Код: Выделить всё
Click Me

Однако, как только я это делаю, доступ к клавиатуре теряется.
Оно откроется, если я воспользуюсь мышью, но не когда я нажму TAB и ENTER.
Должен быть способ одновременно использовать стиль и доступность клавиатуры?
большое спасибо!>
Подробнее здесь: https://stackoverflow.com/questions/797 ... e-keyboard
Мобильная версия