Привет, я думаю, это не баг, а скорее неожиданное поведение…
На Mac я привык использовать ⌘+Click для открытия ссылок в новых вкладках. Когда я делаю это в разделе «Горячие клавиши» в гамбургер-меню, открывается новая вкладка, но сами горячие клавиши в ней не отображаются.
Навигация для этой «ссылки» обрабатывается внутри приложения. Я взял слово ссылка в кавычки, потому что это не настоящая ссылка, так как она не указывает на какой-либо конкретный адрес
Привет, я понимаю. Я просто хотел отметить, что с точки зрения пользователя это неожиданное поведение, поскольку визуально «Горячие клавиши» выглядит точно как ссылка. Если бы существовал способ дать понять, что процесс «открыть в новой вкладке» не сработает, это было бы идеально. Конечно, я думаю, что это не требует приоритетной обработки — не могу представить, чтобы с этим сталкивалось слишком много людей.
Кстати, полное удаление атрибута href (вместо установки его в пустую строку, что является ссылкой на текущий документ) должно предотвратить открытие ссылки в новой вкладке, по крайней мере в большинстве браузеров.
Проблема с его удалением в том, что ссылка исключится из порядка табуляции, что означает невозможность перехода к ней с помощью клавиатуры или других альтернативных методов ввода.
Мы можем исправить это, добавив tabindex: 0.
Таким образом, мы можем сделать что-то вроде этого:
Мне кажется, это небольшое улучшение по сравнению с открытием новой вкладки, но всё равно странно, что ничего не происходит, когда я пытаюсь открыть эту ссылку в новой вкладке… особенно потому, что это единственная ссылка в меню, которая ведёт себя так.
В идеале модальное окно клавиатуры должно открываться в любом случае. В /widgets/link.js.es6 у нас есть
click(e) {
if (wantsNewWindow(e)) {
return;
}
...
Получается, мы предотвращаем любое действие при клике, если требуется новое окно/вкладка?.. Интересно, можно ли немного реорганизовать этот код, чтобы модальное окно открывалось независимо от модификаторов клавиш?