Атрибут spellcheck тега <dialog>
Описание
Атрибут spellcheck определяет, должна ли проверяться орфография текста в редактируемых элементах внутри диалогового окна <dialog>. Это особенно полезно для диалогов с формами или текстовыми редакторами.
<dialog id="feedbackDialog">
<h3>Оставить отзыв</h3>
<div contenteditable="true" spellcheck="true" class="editable-area">
Напишите ваш отзыв здесь...
</div>
<button>Отправить</button>
</dialog>
<!-- Диалог с отключенной проверкой для технических терминов -->
<dialog id="codeDialog">
<div contenteditable="true" spellcheck="false">
function example() { return "Это код, не проверять орфографию"; }
</div>
</dialog>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
true |
Включить проверку орфографии | Для обычного текста, комментариев, сообщений |
false |
Отключить проверку орфографии | Для кода, технических терминов, специальных обозначений |
| Не указан | Наследует настройки родителя | По умолчанию зависит от браузера и элемента |
Динамическое управление:
<dialog id="smartDialog">
<div id="editableContent" contenteditable="true">
Редактируемая область
</div>
<button onclick="toggleSpellcheck()">Переключить проверку</button>
</dialog>
<script>
function toggleSpellcheck() {
const editor = document.getElementById('editableContent');
editor.spellcheck = !editor.spellcheck;
alert('Проверка орфографии: ' + (editor.spellcheck ? 'включена' : 'выключена'));
}
</script>
Особенности работы:
- Работает только с редактируемыми элементами (
contenteditable="true"или<textarea>) - Эффективность зависит от словарей браузера
- Для правильной работы должен быть указан язык контента (
lang) - Подчеркивание ошибок может различаться в разных браузерах
Совместное использование с языком:
<dialog lang="en">
<div contenteditable="true" spellcheck="true">
This text will be checked for English spelling mistakes.
</div>
</dialog>
<dialog lang="ru">
<div contenteditable="true" spellcheck="true">
Этот текст будет проверяться на русские орфографические ошибки.
</div>
</dialog>
Рекомендации по использованию:
- Включайте проверку для пользовательского ввода (формы, комментарии)
- Отключайте для технических данных (код, команды, специальные термины)
- Для многоязычных диалогов используйте динамическое изменение языка
- Тестируйте в разных браузерах (проверка может работать по-разному)
- Сочетайте с CSS для визуального выделения ошибок
Стилизация проверки орфографии:
<style>
/* Стиль для подчеркивания орфографических ошибок */
[spellcheck="true"] {
--spellcheck-color: #e53e3e;
}
[spellcheck="true"]:not(:focus)::spelling-error {
text-decoration: wavy underline var(--spellcheck-color);
}
</style>
<dialog>
<div contenteditable="true" spellcheck="true">
Текст с возможными ашибками
</div>
</dialog>
Примечание: Хотя встроенная проверка орфографии полезна для базовых сценариев, для профессиональных решений (например, текстовых редакторов в диалогах) рассмотрите использование специализированных библиотек проверки орфографии, которые предлагают больше возможностей для настройки и управления.