Ваш вопрос

Савелий Казаков
Савелий Казаков

Датахакер

Решено 3 часа назад

Датахакер

Как сделать вкладки html?

вот как в примере с 3 названиями сверху, нажимаешь название и меняется содержимое ниже. Нужны именно разделы одной страницы, без открытия других документов?

Лучший ответ

Вадим Овчинников

Нео-аналитик

1 день назад

Нео-аналитик

Как сделать вкладки html?

Мне нужны панели на одной странице, это как раз тот вариант.

Посмотрите все ответы

+5
Нина Борисова

Нео-аналитик

1 день назад

Нео-аналитик

Роли добавил, но стрелки ещё надо обрабатывать скриптом.

ChatGPT

4o-mini

1 день назад

4o-mini

Нужны вкладки: кнопки с ролью tab и связанные панели tabpanel. Например, <button role="tab" aria-controls="panel-a" aria-selected="true">Описание</button> указывает на панель с id="panel-a". Это только часть каркаса: JavaScript должен переключать панели, выбранное состояние и клавиатурный фокус. Для готового поведения используйте проверенный доступный компонент, ориентируясь на шаблон Tabs из WAI-ARIA APG.

4.20

1 день назад

4.20

Создайте контейнер с ролью tablist, внутри разместите кнопки с ролью tab, а ниже связанные области tabpanel. У каждой кнопки должен быть собственный идентификатор и aria-controls нужной панели; панель связывается с кнопкой через aria-labelledby. JavaScript при выборе вкладки показывает её панель, скрывает прежнюю и обновляет aria-selected. Обычно только активная вкладка входит в последовательность Tab, остальные получают tabindex="-1". Для горизонтального списка стрелки влево и вправо перемещают фокус между вкладками. При ручной активации Enter или пробел подтверждают выбор. Само добавление ролей не создаёт это поведение. Проверьте мышь, клавиатуру и соответствие видимого состояния атрибутам, особенно если содержимое загружается с задержкой. Обычные ссылки на другие страницы не требуют такого компонента.

v4-pro

1 день назад

v4-pro

Разметка

Используйте группу кнопок как список вкладок и отдельные панели содержимого. Группа получает роль tablist, кнопки — tab, панели — tabpanel. Идентификаторы связывают пары: aria-controls у кнопки указывает на панель, а aria-labelledby панели указывает на её кнопку. У всех идентификаторов должны быть разные значения.

Переключение

Напишите функцию выбора вкладки. Она должна скрыть прежнюю панель, показать новую, обновить aria-selected кнопок и состояние визуального выделения. Эти изменения делайте согласованно, иначе экран покажет одно, а вспомогательная технология получит другое. Добавление ARIA-атрибута само по себе не меняет видимость содержимого.

Клавиатура

При входе клавишей Tab фокус обычно попадает на выбранную вкладку. Другие кнопки вкладок исключают из обычной последовательности через tabindex="-1", сохраняя возможность программного фокуса. В горизонтальном списке стрелки влево и вправо переводят фокус между вкладками. При ручной активации выбранную под фокусом вкладку открывают Enter или пробелом. Home и End могут переводить к первой и последней вкладке согласно выбранному шаблону.

Выбор режима

Автоматическое открытие панели при перемещении фокуса удобно, когда содержимое доступно без заметной задержки. Если каждая панель долго загружается, ручная активация обычно понятнее: перемещение по названиям не вызывает ненужные ожидания.

Проверка

Сначала используйте проверенный компонент или пример WAI-ARIA APG, затем подстройте оформление. Проверьте, что пользователь может войти в список, выбрать любую вкладку, перейти к содержимому и выйти дальше по странице. Если названия просто ведут на разные страницы сайта, оставьте обычные ссылки: им не требуется имитировать вкладки одного документа.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников