Dom7 предоставляет компактный набор инструментов для манипуляции DOM-структурами, однако ряд возможностей, привычных разработчику в крупных фреймворках или универсальных утилитарных библиотеках, отсутствует по концептуальному замыслу. Под несовместимыми возможностями понимаются функции, которые либо принципиально не реализуются Dom7, либо требуют сторонних решений.
Dom7 использует базовые CSS-селекторы браузера. Поддержка кастомных псевдоклассов, пространств имён или селекторов по абстрактным состояниям не предусмотрена. В отличие от jQuery, механизм фильтрации элементов ограничивается стандартным API, что исключает подключение пользовательских фильтров через плагины.
Dom7 реализует лишь минимально достаточные методы on,
off и once. Отсутствует система пространств
имён событий, делегирование по сложным критериям и высокоуровневые
утилиты для управления группами слушателей. Нет поддержки
пользовательских событий с расширенной информацией о контексте; объект
event остаётся браузерным и не переопределяется.
Dom7 не внедряет собственный движок анимаций. Поддержка CSS-анимаций и переходов остаётся на ответственности браузера, а расширенные сценарии, включая контроль таймингов, кривых ускорения, отмен и цепочек, требуют дополнительных библиотек. Отсутствуют утилиты для оптимизации анимаций и компенсации кадровой частоты.
Отсутствуют встроенные инструменты для формирования HTML-шаблонов,
привязки данных, вычисления диффов и реактивного обновления интерфейса.
Dom7 ограничивается базовыми методами html,
text, val и работающими со строками вставками.
Шаблонизация переносится на внешние решения или среду исполнения.
Dom7 допускает ручное расширение прототипа, однако отсутствует формализованная система плагинов с единой моделью жизненного цикла, изоляцией и управлением зависимостями. Это резко снижает возможность безопасного расширения функциональности в масштабных проектах.
Dom7 не реализует сетевой стек. Методы для AJAX-запросов, загрузки
ресурсов, стриминга или работы с WebSocket не входят в состав библиотеки
и должны поставляться внешними модулями. Наличие fetch и
других стандартов в браузере не компенсирует отсутствия единой обвязки
под Dom7.
Dom7 обеспечивает доступ к css для установки и чтения
простых свойств, но не содержит высокого уровня абстракции для
вычисления макета. Такие задачи, как измерение размеров с учётом
box-sizing, вычисление позиций, пересечение областей или
отслеживание изменений в геометрии, выходят за рамки библиотеки.
Не предусмотрены механизмы хранения состояния элементов или компонентная модель. Отсутствуют реактивные вычисления, наблюдатели и система подписок, позволяющие автоматически синхронизировать данные и DOM. Поддержка реактивности перекладывается на фреймворки верхнего уровня.
Dom7 ориентируется на минимализм и не внедряет развитую модульную структуру. Отсутствует автоматическое дерево зависимостей, условная компиляция, оптимизация под разные среды выполнения или адаптация под серверный рендеринг. Возможность серверной имитации DOM ограничена внешними инструментами.
Использование Dom7 в архитектурах, основанных на виртуальном DOM, компонентных системах или унифицированных сторонах данных, приводит к конфликтам. Dom7 предполагает непосредственную манипуляцию реальным DOM, что делает его несовместимым с стратегиями, где управление деревом выполняет абстракция поверх браузера.
Сложные сценарии взаимодействия, включая управление фокусом, клавиатурной навигацией, доступность (ARIA), обработку жестов и интеграцию с устройствами ввода, не включены в набор возможностей Dom7. Реализация таких механизмов требует специализированных библиотек.
Минималистичный дизайн Dom7 порождает несовместимость с задачами, где ожидаются высокоуровневые слои абстракции, расширенная событийная модель, набор плагинов и развитые архитектурные решения. Несовместимые возможности формируют границу применения библиотеки, сохраняя её компактность, но ограничивая универсальность.