Почему не может быть дочерним элементом (ошибка c валидатора W3C)?

Ссылка скопирована
9 марта 2026 1 ответ

Смотрел код таблицы. Ввёл изменения, чтобы придать структуру. Забил в валидатор и вижу это (цитирую): Element tbody not allowed as child of element table in this context. (Suppressing further errors from this subtree.)

Вопрос: почему "not allowed" и допустимо ли игнорировать это предупреждение?

Вот ссылка на код.

Дополнительно:

Из спеки
Contexts in which this element can be used:
As a child of a table element, after any caption, colgroup, and thead elements, but only if there are no tr elements that are children of the table element.
https://html.spec.whatwg.org/multipage/tables.html...

Справедливости ради, раньше tfoot действительно нужно было писать до tbody

  • Ankhena, благодарю
  • tbody и tfoot поменяйте местами. Само название секций таблицы говорит об их порядке.

    • Это я понимаю и могу поменять местами. Но на MDN написано о допустимости использования даже такой структуры. Да и в инструменте разработчика <tfoot> остаётся написанным над <tbody>. Странно, что программа корректировки синтаксиса (в браузере) пропускает такую штуку, а валидатор нет. Разве они не должны работать по общим правилам в живом стандарте?
    • Arthur_Sp, не должны. Браузер прощает или пытается автоматически пофиксить огромное количество ошибок
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Алексей Денисов Ответ

    Дочерний элемент может оказаться недопустимым из-за различных причин, таких как нарушение структуры HTML документа или неверное использование определенных элементов. Ошибка с валидатора W3C может возникнуть, если элемент, который вы пытаетесь использовать в качестве дочернего, не допускается в этом контексте.

    Например, если вы пытаетесь вставить элемент

    внутрь элемента , это может вызвать ошибку с валидатора W3C, так как элемент

    является "блочным" элементом, а - "строчным" элементом, и они не могут быть использованы в таком контексте.

    Другой пример может быть связан с использованием элементов формы. Например, если вы пытаетесь вставить элемент внутрь другого элемента , это нарушит правила HTML и вызовет ошибку с валидатора W3C.

    Чтобы избежать подобных ошибок, важно внимательно следить за структурой вашего HTML кода и убедиться, что вы используете правильные элементы в правильных контекстах. При возникновении ошибки с валидатора W3C, рекомендуется пройти по коду и проверить, где именно нарушается структура документа, и внести соответствующие исправления.

    Вот пример использования тега

     для подсветки синтаксиса PHP:
     
    <pre lang="php">

    для подсветки синтаксиса PHP: <pre lang="php">

    Надеюсь, это поможет вам понять, почему определенный элемент не может быть дочерним элементом в вашем HTML коде. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно