Удаление своства readOnly у компонента PrizmToggle #2148
Unanswered
ickisIckis
asked this question in
ADR
Replies: 2 comments 1 reply
-
|
Добро |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Связано с задачей #2047 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Дата решения 01.11.2024.
Мотив
На данный момент компонент PrizmToggle имеет свойство readOnly. Оно запрещает пользователю изменять значение поля, а не взаимодействовать с ним и
обычно предназначено для элементов с вводом данных (например, текстовых полей), но не для интерактивных компонентов, таких как Toggle - подробнее https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly#overview
В этом случае возникают сложности в понимании назначения readOnly, так как переключатели, по своей природе, ожидаются пользователями как интерактивные элементы. Это противоречит основной концепции "только для чтения", где ввод невозможен, но значение можно просмотреть и доводит понимание этого свойства до смешения с состоянием disabled.
В то же время разграничение состояний disabled и readOnly может привести к негативному пользовательскому опыту: пользователь видит, что элемент не отключен (не в состоянии disabled), но не может изменить его состояние, так как включено свойство readonly. Это ухудшает предсказуемость интерфейса.
Краткое описание решения и его обоснование
Удалить свойство readOnly из компонента Toggle, оставив управление состоянием через свойство disabled. Это позволит избежать смешения с сотояниям disabled, упростить логику использования компонента, а также облегчит его api за счет удаления избыточного функионала.
Для этого:
1. Перевести свойство в группу deprecated функционала в версиях Prizm 5+ и запланировать
2. Запланировать его удаление в следующем мажорном релизе (6.0).
Последствия
Компонент будет избавлен от свойства, которое для него не характерно.
Упрощение API компонента.
Улучшение пользовательского опыта.
Возможные альтернативы
Добавление специфической стилизации компонента для состояния readOnly
Beta Was this translation helpful? Give feedback.
All reactions