Атрибут spellcheck тега <textarea>
Описание
Атрибут spellcheck в теге <textarea> управляет проверкой орфографии введённого текста. Он позволяет включить или отключить встроенную в браузер проверку правописания.
<textarea spellcheck="true">
Этот текст будет проверяться на орфографические ошибки
</textarea>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
true |
Включить проверку орфографии | Для обычных текстовых полей |
false |
Отключить проверку орфографии | Для полей ввода кода, специальных терминов |
| отсутствует | Наследует настройки браузера/родителя | Когда нужно поведение по умолчанию |
Особенности работы:
- Зависит от языковых настроек браузера (
langатрибут) - Подчёркивает потенциальные ошибки красной волнистой линией
- Не проверяет грамматику, только орфографию
- Работает только в редактируемых элементах
Пример с разными языками:
<textarea spellcheck="true" lang="en">
English text with spell checking
</textarea>
<textarea spellcheck="true" lang="ru">
Русский текст с проверкой орфографии
</textarea>
Рекомендации:
- Для многоязычных полей указывайте
langатрибут - Отключайте для полей ввода email, паролей, кода
- Тестируйте в целевых браузерах
- Сочетайте с CSS для лучшей визуализации ошибок
Пример стилизации ошибок:
<style>
/* Подсветка текста с ошибками */
textarea[spellcheck="true"] {
--error-color: #ff6b6b;
}
/* Для Firefox */
textarea[spellcheck="true"]::selection {
background-color: var(--error-color);
}
</style>
<textarea spellcheck="true">
Текст с возможными ашипками
</textarea>
Ограничения:
- Разная реализация в разных браузерах
- Не работает для текста, вставленного через JavaScript
- Ограниченный словарь для некоторых языков
- Не заменяет профессиональные системы проверки
Пример отключения проверки:
<!-- Поле для ввода кода -->
<textarea spellcheck="false" class="code-editor">
function example() {
return "Код не должен проверяться на орфографию";
}
</textarea>
<style>
.code-editor {
font-family: monospace;
}
</style>
Примечание: Для профессиональной проверки орфографии:
- Используйте специализированные библиотеки (Typo.js)
- Рассмотрите серверные решения
- Для сложных случаев - коммерческие API