Angular boostrap: ngbDropdown/ngbDropdownToggle и доступность?

Мы используем меню Bootstrap 4 в навигации по сайту. Мы также хотели бы иметь возможность использовать раскрывающиеся списки ng-bootstrap.

Вы можете превратить DS в NGB с помощью их директивы, например:

<li class = "nav-item" ngbDropdown>
  <a class = "nav-link" ngbDropdownToggle role = "button" aria-haspopup = "true" aria-expanded = "false">Menu 2</a>
  <div class = "dropdown-menu ngbfade" aria-labelledby = "navbarDropdownMenuLink" ngbDropdownMenu>
    <a class = "dropdown-item" routerLink = "">Menu Item 1</a>
    <a class = "dropdown-item" routerLink = "">Menu Item 2</a>
    <a class = "dropdown-item" routerLink = "">Menu Item 3</a>
  </div>
</li>

Тем не менее, с этой настройкой пользователи не могут открывать меню с помощью вкладок, а также открывать вкладки и клавиши со стрелками для параметров, как они могут в обычном меню Bootstrap.

Код на сайте ng-bootstrap дает совсем другой HTML, который больше похож на раскрывающуюся кнопку, чем на меню ссылок:

<div ngbDropdown class = "d-inline-block">
  <button class = "btn btn-outline-primary" id = "dropdownBasic1" ngbDropdownToggle>Toggle dropdown</button>
  <div ngbDropdownMenu aria-labelledby = "dropdownBasic1">
    <button ngbDropdownItem>Action - 1</button>
    <button ngbDropdownItem>Another Action</button>
    <button ngbDropdownItem>Something else is here</button>
  </div>
</div>

Есть ли способ заставить директивную версию реагировать на табуляцию?

Я попытался добавить href, но, конечно, с Angular, который позволяет щелкнуть мышью, чтобы перейти на домашнюю страницу приложения.

Не могли бы вы объяснить аббревиатуру DS в своем вопросе?

Andy 15.11.2021 17:07

Я хотел сказать BS (Bootstrap)

Steve 18.11.2021 16:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
2
1 377
0

Другие вопросы по теме