Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Улучшает кнопки для оценки материала #1186

Merged
merged 14 commits into from
Sep 5, 2023

Conversation

TatianaFokina
Copy link
Member

@TatianaFokina TatianaFokina commented Aug 9, 2023

Исправления в рамках #1067 и #1071.

Что изменилось:

  • перенесла «Спасибо» из заголовка под поле с оценкой, заменила текст на «Спасибо за оценку ❤️»;
  • изменила текст ошибки с «Во время отправки формы что-то пошло не так. Попробуйте ещё раз?» на «Во время отправки формы что-то пошло не так. Перезагрузите страницу и попробуйте оценить материал ещё раз»;
  • теперь заголовок групп кнопок постоянно «Статья была полезной?», сделала его <legend>;
  • связала статус об успешной отправке и ошибку с <form> с помощью aria-describedby и live region;
  • навесила на <fieldset> атрибут inert вместо disabled (disabled нельзя задавать группам элементов, только одному интерактивному);
  • убрала автоматический перенос фокуса на текстовое поле (так не очень хорошо делать в формах);
  • добавила лейбл к полю с другой причиной;
  • сделала поле с другой причиной required;
  • добавила состояние aria-expanded для кнопок, раскрывающих блоки;
  • слегка увеличила высоту кнопок с причиной, чтобы они были больше 23px.

Почему так решила описала уже в ишьюз (кроме inert и заголовка). Кажется, что логичнее и удобнее, чтобы этот заголовок относился к двум кнопкам, а не ко всей форме. Тем более это хорошая практика, чтобы у <fieldset> был заголовок.

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

Единственный вопрос остался к @skorobaeus.

Нетекстовый контраст кнопок для оценок в статьях (#F499AF, #51e957) на белом фоне (#ffffff) в светлой теме соотносятся 1.59:1 и не соответствуют минимальному соотношению 3:1.

Было и стало

@TatianaFokina TatianaFokina added ошибка Что-то критичное и мешает вёрстка Задачи по вёрстке дизайн Задачи по дизайну доступность Задачи по доступности labels Aug 9, 2023
@TatianaFokina TatianaFokina self-assigned this Aug 9, 2023
@TatianaFokina TatianaFokina changed the title Fix rate buttons Улучшает кнопки для оценки материала Aug 9, 2023
@skorobaeus
Copy link
Member

skorobaeus commented Aug 10, 2023

Нетекстовый контраст кнопок для оценок в статьях (#F499AF, #51e957) на белом фоне (#ffffff) в светлой теме соотносятся 1.59:1 и не соответствуют минимальному соотношению 3:1.

Вот это обидно, конечно, мне очень нравятся эти кнопки :( У меня есть два ответа.

Ответ "Торг":
APCA алгоритм говорит, что для нетекстовых элементов контраст достаточен, можно оставить, как есть:

image

Ответ "Смирение":
Можно сделать каомодзи цветом текста, выглядит иначе, но неплохо, контрастность на века:

image

Давайте обсудим!


Кстати, сейчас в тёмной теме при нажатии на кнопки каомодзи белый. А по макету должен быть чёрный:

image

Предлагаю это поправить заодно вне зависимости от вопроса выше :)

@TatianaFokina
Copy link
Member Author

TatianaFokina commented Aug 10, 2023

Давай тогда оставим как есть, только в нажатом состоянии и при наведении будем делать мордочки чёрными (короче, когда есть заливка у кнопки)?

@skorobaeus
Copy link
Member

Давай тогда оставим как есть, только в нажатом состоянии и при наведении будем делать мордочки чёрными (короче, когда есть заливка у кнопки)?

Звучит как отличный план!

@TatianaFokina
Copy link
Member Author

Звучит как отличный план!

Поменяла цвет мордочек, больше вопросов нет. Остаётся только дождаться ревью!

@TatianaFokina
Copy link
Member Author

Тут тоже можно смело ревьюить.

@solarrust
Copy link
Member

При «другой причине» в случае пустого поля мы не отправляем форму, что логично. Но не блокируем кнопку и не показываем, что надо заполнить поле. Кажется, надо как-то дать понять, чего мы ждём.

В остальном дикий кайф 🥰

@TatianaFokina
Copy link
Member Author

При «другой причине» в случае пустого поля мы не отправляем форму, что логично. Но не блокируем кнопку и не показываем, что надо заполнить поле. Кажется, надо как-то дать понять, чего мы ждём.

Хочу с этим разобраться в отдельном пиаре, там не всё так просто. Надо, походу, делать кастомную валидацию.

@solarrust
Copy link
Member

required не решает проблему?

@TatianaFokina
Copy link
Member Author

TatianaFokina commented Aug 21, 2023

required не решает проблему?

Неа, он даже создаёт новую. Так как поле required с display: none при этом, браузер не понимает, что от него хотят, и просто кидает ошибку и не даёт тебе просто поставить оценку нравится даже. Типа, это поле надо заполнить даже если ты указал другую причину и хочешь поставить другую оценку.

@solarrust
Copy link
Member

Может докидывать атрибут при показе скриптом этого поля?

@TatianaFokina
Copy link
Member Author

Может докидывать атрибут при показе скриптом этого поля?

Можно попробовать.

@TatianaFokina
Copy link
Member Author

Готово! Теперь на поле появляется атрибут required при открытии выпадашки.

@github-actions
Copy link

Превью контента из 85e6d5a опубликовано.

Copy link
Member

@solarrust solarrust left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо тебе большое. Великое дело 🙏

@TatianaFokina TatianaFokina merged commit e2a8fd3 into doka-guide:main Sep 5, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
вёрстка Задачи по вёрстке дизайн Задачи по дизайну доступность Задачи по доступности ошибка Что-то критичное и мешает
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Улучшить кнопки для оценки материалов
3 participants