Bad Practices для сайтов
Разбор критических ошибок веб-дизайна. Почему слайдеры, автозвук и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
14
1 мин.

131
2 мин.
Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона.
Элементы аккордеона в данном стандарте называются спойлерами, спойлеры могут быть отдельными от аккордеона сущностями, но отдельно они применяются редко.
Основой является список <ul>, это гарантирует, что скринридеры и поисковые роботы воспримут группу спойлеров как единый перечень связанных элементов.
Каждый спойлер содержит <details>, внутри которого строго определен порядок:
<ul class="ssa-accordion"> <li class="ssa-spoiler"> <details class="ssa-spoiler__details" name="faq"> <summary class="ssa-spoiler__summary"> <h3 class="ssa-spoiler__title">Текст триггера</h3> <span class="ssa-spoiler__icon" aria-hidden="true"></span> </summary> <div class="ssa-spoiler__content"> </div> </details> </li> </ul>
Атрибут
nameпозволяет создавать аккордеоны в которых может быть открыт только один спойлер, но при условии что значение вnameу всех спойлеров одно и тоже.
Триггером является весь элемент <summary>. Его область нажатия должна быть максимально большой для удобства работы на мобильных устройствах.
.ssa-spoiler__summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; cursor: pointer; list-style: none; } /* Скрытие системного маркера */ .ssa-spoiler__summary::-webkit-details-marker { display: none; } .ssa-spoiler__icon { flex-shrink: 0; inline-size: 24px; block-size: 24px; transition: rotate 0.3s ease-in-out; /* Здесь может быть background-image или SVG */ } .ssa-spoiler__details[open] .ssa-spoiler__icon { rotate: 180deg; }
Для иконки всегда добавляется
aria-hidden="true", так как она несёт декоративную функцию, а состояние "открыто/закрыто" скринридеры считывают напрямую из тега<details>.
Пользователь должен мгновенно понимать, что элемент активен или выбран.
Стандарт SSA подразумевает три типа отклика:
<summary> при наведении.:focus-visible..ssa-spoiler__summary:hover { background-color: rgb(0 0 0 / 5%); } .ssa-spoiler__details[open] .ssa-spoiler__summary { background-color: #f8f9fa; border-block-end: 1px solid #eee; }
Похожие категории:
Разбор критических ошибок веб-дизайна. Почему слайдеры, автозвук и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
14
1 мин.
Стандарт SSP определяет требования к семантике, доступности и логике работы постраничной навигации
108
1 мин.
Стандарт SSPS определяет требования к структуре и наименованию файлов и папок в проекте
67
2 мин.
Стандарт SSV определяет требования к семантике, настройке фоновых и интерактивных роликов, атрибутам для Safari, правил доступности и весу видео
102
3 мин.
Решает проблемы с работой Vite при включённом VPN, настройка соединения, для избежания перенаправления локального трафика в VPN-туннель
92
2 мин.