Web Accessibility Academy · Урок

Аккордеоны с Button и aria-expanded

Создавайте раскрывающийся элемент, который сообщает об открытом и закрытом состоянии.

Урок 3 из 413 шагов

«Аккордеоны с Button и aria-expanded» — бесплатный урок Web Accessibility Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Web Accessibility Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Web Accessibility Academy содержит 4 уроков всего.

Что делает аккордеон

Аккордеон — это набор заголовков, которые разворачиваются и сворачиваются, показывая содержимое. Каждый раздел может открываться независимо от других, в отличие от вкладок.

Заголовок должен быть кнопкой

Сделайте каждый заголовок аккордеона настоящей кнопкой. Кнопки получают фокус, работают с Enter и пробелом и автоматически объявляются экранными дикторами.

<button>Shipping details</button>

Заголовок div не подходит

Остерегайтесь кликабельного div в роли заголовка. Он не получает фокус, не реагирует на клавиатуру и ничего не сообщает вспомогательным технологиям о своём назначении.

<div onclick="toggle()">Shipping details</div>

aria-expanded — главный атрибут

Добавьте к кнопке aria-expanded, чтобы экранные дикторы объявляли, свернут раздел или развернут. Именно это состояние делает аккордеон доступным.

<button aria-expanded="false">Shipping details</button>

Переключайте состояние по нажатию

Когда пользователь активирует кнопку, переключайте aria-expanded между true и false. Синхронизируйте этот атрибут с тем, отображается ли панель на самом деле.

btn.setAttribute("aria-expanded", String(open));

Укажите связанную область

Используйте на кнопке aria-controls со значением id открываемой панели. Пользователи будут понимать, какое содержимое показывает этот заголовок.

<button aria-controls="sec1" aria-expanded="false">More</button>

Скрывайте свернутую панель

Когда раздел закрыт, добавляйте его панели атрибут hidden. Это удаляет её со страницы и из дерева доступности до повторного открытия.

<div id="sec1" hidden>Panel content</div>

Оборачивайте заголовки в настоящие заголовки

Поместите каждую кнопку внутрь настоящего заголовка, например h3. Пользователи экранных дикторов смогут переходить от раздела к разделу с помощью навигации по заголовкам.

<h3><button aria-expanded="false">FAQ</button></h3>

Для одиночных раскрытий ARIA не нужна

Одиночный элемент показа и скрытия — это раскрывающийся блок, а не набор вкладок. Ему нужна только кнопка с aria-expanded, без ролей tablist и tab.

Оставляйте фокус на кнопке

После переключения оставляйте фокус на кнопке, которую нажал пользователь. Не переводите фокус в панель: это может сбить пользователей клавиатуры с толку.

Почему aria-expanded лучше

Поскольку кнопка содержит собственное состояние, экранный диктор каждый раз сообщает, развернут раздел или свернут. Пользователь всегда знает, что произойдет после активации.

Быстрая проверка

Вы создаёте заголовок аккордеона, который открывает и закрывает раздел. Какой атрибут делает его состояние доступным?

Итоги: доступные аккордеоны

Вы узнали, что заголовок аккордеона — это кнопка с aria-expanded, помещённая внутрь заголовка. Переключайте состояние, указывайте панель и скрывайте её в закрытом состоянии.

Можно начать бесплатно

Изучай HTML с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Аккордеоны с Button и aria-expanded» бесплатный?

Да — полный текст урока «Аккордеоны с Button и aria-expanded» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Web Accessibility Academy, подпишись на CoddyKit PRO. Курс Web Accessibility Academy содержит 4 уроков всего.

Чему я научусь в уроке «Аккордеоны с Button и aria-expanded»?

Создавайте раскрывающийся элемент, который сообщает об открытом и закрытом состоянии. Ты практикуешь Web Accessibility Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Web Accessibility Academy?

Предыдущий опыт не требуется. Web Accessibility Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Аккордеоны с Button и aria-expanded»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Web Accessibility Academy?

Да. Каждый урок Web Accessibility Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Шаблон вкладок: tablist, tab, tabpanel
  2. Навигация между вкладками стрелками
  3. Аккордеоны с Button и aria-expanded
  4. Раскрывающийся элемент или вкладки: выберите подходящий вариант
← Назад к Web Accessibility Academy