Os 10 principais erros de HTML
Web developers de todo o mundo encontraram
447 milhões de HTML problemas
em 12 milhões de páginas web verificadas.
Eis os problemas mais comuns detectados pelo Rocket Validator.
Última atualização: domingo, 24 de maio de 2026
1. O elemento "X" não é permitido como filho do elemento "Y" neste contexto. 48.58%
O elemento X não é permitido como elemento filho de Y. Por exemplo, um elemento <ul> não pode ter um elemento filho <div>.
2. ID “X” duplicado. 18.38%
O atributo id é utilizado para identificar um único elemento dentro de um documento, e deve ser único. Verifique se há IDs repetidos no documento.
3. O atributo "X" não é permitido no elemento "Y" neste ponto. 16.44%
Foi encontrado um atributo inválido num elemento. Verifique a etiqueta afetada para se certificar de que os atributos estão bem formados e, se estiverem, pode considerar a utilização de atributos de dados personalizados.
4. An element with the attribute “tabindex” must not appear as a descendant of the “a” element. 4.55%
An element with a tabindex attribute must not appear as a descendant of an <a> (anchor) element. This creates conflicting focus targets within an interactive element, confusing keyboard navigation and assistive technologies. To fix this, remove the tabindex attribute from any descendant elements inside the <a> element, or restructure your markup so that interactive or focusable elements are not nested inside links.
5. Um elemento <img> tem de ter um atributo "alt", exceto em determinadas condições. Para mais pormenores, consulte as orientações sobre o fornecimento de alternativas de texto para imagens. 3.15%
As etiquetas <img>, utilizadas para incluir imagens num documento, requerem um atributo alt para descrever o conteúdo da imagem. Isto é essencial para os usuários que não podem ver a imagem (como os usuários de leitores de ecrã), ou como um texto alternativo quando a imagem não pode ser exibida.
6. Não há espaço entre atributos. 2.46%
Os atributos nos elementos HTML têm de ser separados por espaço.
7. Valor incorreto "" para o atributo `target` no elemento `<a>`: O nome do contexto de navegação deve ter pelo menos um carácter. 2.09%
O atributo target em elementos <a> não pode estar em branco.
8. When the “srcset” attribute has any image candidate string with a width descriptor, the “sizes” attribute must also be specified. 1.46%
When an img element's srcset attribute contains image candidates with width descriptors (e.g., 400w, 800w), the sizes attribute must also be present. Without sizes, the browser has no way to determine how large the image will appear in the layout, making it impossible to choose the correct source from the candidate list. To fix this, add a sizes attribute that describes the image's expected display width at various viewport sizes.
9. Element “span” is missing one or more of the following attributes: “aria-checked”, “aria-level”, “role”. 1.46%
The aria-expanded attribute requires the element to have an appropriate role attribute (or be an element that natively implies one). A <span> is a generic inline element with no implicit ARIA role, so you must explicitly assign a role when using ARIA state attributes like aria-expanded.
10. Bad value “rocketlazyloadscript” for attribute “type” on element “script”: Subtype missing. 1.42%
The type attribute on a <script> element requires a valid MIME type, but the value rocketlazyloadscript is not a recognized MIME type and is missing the required subtype component (e.g., text/javascript). This non-standard value is injected by the WP Rocket WordPress plugin to implement lazy loading of scripts. To fix this, you can either configure WP Rocket to exclude specific scripts from its lazy loading behavior, or accept these validation errors as a trade-off of using the plugin's performance optimization.
Validate at scale.
Ship accessible websites, faster.
Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.
Pro Trial
Full Pro access. Cancel anytime.
Start Pro Trial →Join teams across 40+ countries