Вы не можете сделать флажок неопределенным через HTML по дизайну. См. Эту статью на css-tricks.com , в которой подробно обсуждается тема.
Что касается вопроса «почему», в списках рассылки W3C может быть полезна некоторая информация:
- Похоже, что идея придания флажкам значения в трех состояниях (казалось бы, проверенного, непроверенного, неопределенного) была рассмотрена, но не реализована из-за проблем обратной совместимости
- Единственное упоминание об истинном
indeterminate
HTML-атрибуте "content", которое вы можете найти в своем примере, было здесь:
- В этом сообщении
- И ответ
- Вы можете попробовать связаться с участниками этой темы для получения дополнительной информации
Для чего бы то ни было, на самом деле есть :indeterminate
CSS-селектор (кажется, что он обрабатывается как другие псевдоклассы CSS, такие как :visited
, который также не может быть установлен через HTML напрямую, так что, возможно, это еще одна причина indeterminate
тоже не может быть). В своей демонстрации CSS-селектора сам W3C использует примерно тот же подход, что и вы: W3C-неопределенный демонстратор CSS-селектора . В свете этого, я бы сказал, что вы используете лучший метод для установки неопределенного состояния флажка