Атрибут spellcheck тега <dfn>
Описание
Атрибут spellcheck определяет, должна ли проверяться орфография текста внутри элемента <dfn>. Это особенно полезно для терминов, которые могут быть редактируемыми (в сочетании с contenteditable).
<dfn spellcheck="true" contenteditable>Программирование</dfn> - процесс создания программ
<dfn spellcheck="false" contenteditable>GitHub</dfn> - платформа для хостинга кода (специальное название не проверяется)
<dfn>Алгоритм</dfn> - без spellcheck (по умолчанию зависит от браузера)
Значения атрибута:
| Значение | Описание | Поведение |
|---|---|---|
true |
Включена проверка орфографии | Подчеркивает возможные ошибки |
false |
Выключена проверка орфографии | Игнорирует ошибки |
| Не указан | Наследует настройки родителя | Зависит от браузера и страницы |
Использование с техническими терминами:
<div spellcheck="false">
<dfn contenteditable>NaN</dfn> - не число (Not a Number)
<dfn contenteditable>undefined</dfn> - неопределенное значение
</div>
Динамическое управление проверкой:
<dfn id="editable-term" contenteditable spellcheck="false">Фреймворк</dfn>
<button onclick="toggleSpellcheck()">Переключить проверку</button>
<script>
function toggleSpellcheck() {
const term = document.getElementById('editable-term');
term.spellcheck = !term.spellcheck;
alert('Проверка орфографии: ' + (term.spellcheck ? 'включена' : 'выключена'));
}
</script>
Рекомендации по использованию:
- Отключайте проверку для специальных терминов, аббревиатур и имен собственных
- Включайте для обычных слов и определений на естественном языке
- Учитывайте язык термина (проверка работает только если указан правильный
lang) - Для словарей используйте глобальное отключение с точечным включением
Пример с определением языка:
<dfn lang="en" spellcheck="true" contenteditable>JavaScript</dfn> - programming language
<dfn lang="ru" spellcheck="true" contenteditable>Джаваскрипт</dfn> - язык программирования
<style>
dfn[spellcheck="true"] {
border-bottom: 1px dotted #ccc;
}
</style>
Ограничения и совместимость:
- Поддерживается всеми современными браузерами
- Требует
contenteditableдля работы (кроме полей формы) - Эффективность зависит от словарей, установленных в браузере
- Не влияет на SEO, но улучшает пользовательский опыт
Примечание: Для технических словарей и глоссариев рекомендуется отключать проверку орфографии для специальных терминов, но оставлять включенной для пояснений и определений. Это можно сделать, обернув термины в <span spellcheck="false"> внутри редактируемого <dfn>.