Добавляет рецепт слайдера
Описание
Поправила текст статьи, перевернула демку по горизонтали, поменяла фон страницы и шрифт, использовала стрелку Доки.
Closes #2730
https://content-5364.dev.doka.guide/recipes/slider/
Чек-лист
- [x] Текст оформлен согласно руководству по стилю
- [x] Ссылки на внутренние материалы начинаются со слеша и заканчиваются слэшем либо якорем на заголовок (
/css/color/,/tools/json/,/tools/gulp/#kak-ponyat) - [x] Ссылки на картинки, видео и демки относительные (
images/example.png,demos/example/,../demos/example/)
После многочисленных правок появились артефакты:
- двойные заголовки:
- неудалённый кусочек на строке 155:
❕ В процессе причёсывания стилей я убрала стрелочки из HTML в CSS, а ещё переместила заголовки под картинки.
Что изменилось в демке:
- убрала
aria-roledescription. Хотя атрибут рекомендуют использовать, это может создавать лишний шум для пользователей скринридеров + это базовый пример, а этот атрибут не то, чтобы обязателен; - перевела текст из всех
aria-label; - добавила пустые
altдля картинок; - сделала слайдер изменяющейся областью через
aria-live="polite"; так, при переключении слайдов, скринридеры автоматически зачитают заголовок активного слайда; - всё-таки оставила
aria-disabled, но только у стрелочек; добавила стиль для неактивной кнопки; - добавила
aria-currentдля активной точки, а вотaria-disabledубрала у них; первый атрибут даёт пользователям скринридеров понять, что связанной с точкой слайд сейчас активен; - убрала
hiddenиз разметки, он добавляется только благодаря JS; так рекомендуют делать на всяяяякий случай, если скрипт не загрузился, и для пользователя всё остаётся доступным даже со сломанным слайдером; - исправила айдишники у слайдов и заголовков в них, чтобы
aria-labelledbyзаработал; - убрала
tabindexс контейнера слайдера, чтобы, опять же, не было изобилия опциональных атрибутов; - поиск не по всему документу, а по элементам слайдера;
- всякие приколы с форматированием JS-кода: убрала точки с запятыми, заменила двойные кавычки на одинарные (так как у нас такое соглашение в Доке);
- слегка упоролась DRY;
- добавила
aria-currentв скрипт для активной кнопки; - теперь нужная кнопка со стрелкой ищется более железобетонно по классу, а не по значению
aria-label(что менее надёжно, так как запаришься потом чинить скрипт, если кто-то решит поменять значение атрибута + интернационализация тоже может нарушить наши планы).
@skorobaeus, @AnnaBaraulina, я вот подумала, а может добавить ещё анимацию при переключении слайдов? Если поддерживаете идею, то её лучше сразу запихнуть в @media (prefer-reduced-motion: no-preference).
@skorobaeus, @AnnaBaraulina, я вот подумала, а может добавить ещё анимацию при переключении слайдов? Если поддерживаете идею, то её лучше сразу запихнуть в
@media (prefer-reduced-motion: no-preference).
Я-то точно не против, но, наверное, чтобы не нагружать Анну, можно обойтись и без них
@skorobaeus, @AnnaBaraulina, я вот подумала, а может добавить ещё анимацию при переключении слайдов? Если поддерживаете идею, то её лучше сразу запихнуть в
@media (prefer-reduced-motion: no-preference).Я-то точно не против, но, наверное, чтобы не нагружать Анну, можно обойтись и без них
Привет! Я не против, я попробую так сделать. @TatianaFokina Татьяна, спасибо, что поправила те моменты, которые я должна была сделать
@glafirazhur, а у тебя случааайно не найдётся небольшое окошко в твоём загруженном (без шуток) графике, чтобы чекнуть код слайдера?
Привет) А эта статья не закрывает случайно ещё и вот этот ишью? #3751
Короче, по моей задумке это должно было быть два рецепта. Карусель и слайдер часто разносят в отдельные категории. Слайдер не переключается автоматически, а карусель крутится, вертится, все дела. Но я подумала сейчас, что можно и на одном рецепте остановиться, так что закрою это ишью.
@AnnaBaraulina, я сделала небольшое уточнение про анимацию, так что можешь с ней не заморачиваться.
Осталась только пара комментариев от @solarrust, а так всё готово.
- ~При перезагрузки демки все картинки мигают на долю секунды. Давай подумаем, как их сразу скрывать так, чтобы не было такого эффекта.~
- ~У
.controlsиспользуем логическоеmargin-block-end, но в остальных местах используются «старые» свойства типаwidth,left/rightи т. д. Может быть присмотримся к коду и подумаем, где ещё пригодятся логические свойства?~
@TatianaFokina, @skorobaeus, @solarrust, предлагаю перенести рецепт в раздел Рецепты -> Интерфейс. Сейчас он попадает в "Остальное"
@TatianaFokina, @skorobaeus, @solarrust, предлагаю перенести рецепт в раздел Рецепты -> Интерфейс. Сейчас он попадает в "Остальное"
Все статьи, которые пока не распределены по подразделам, попадают в «Остальные». Обычно, мы определяем подраздел где-то ближе к слиянию в main. Спасибо, что напомнил, иногда это выпадает из внимания =)
@AnnaBaraulina, я сделала небольшое уточнение про анимацию, так что можешь с ней не заморачиваться.
Осталась только пара комментариев от @solarrust, а так всё готово.
- При перезагрузки демки все картинки мигают на долю секунды. Давай подумаем, как их сразу скрывать так, чтобы не было такого эффекта.
- У
.controlsиспользуем логическоеmargin-block-end, но в остальных местах используются «старые» свойства типаwidth,left/rightи т. д. Может быть присмотримся к коду и подумаем, где ещё пригодятся логические свойства?
Привет! Спасибо-спасибо, все сделали в итоге за меня! Я доделаю последние комменты в ближ выходные
@solarrust, я сделяль. Больше не мигает.