Skip to main content
Validação HTML

Valor inválido “0” para o atributo “aria-rowspan” no elemento “div”: Zero não é um número inteiro positivo.

Sobre este problema HTML

O atributo aria-rowspan é usado em estruturas de grade e tabela baseadas em ARIA para indicar quantas linhas uma célula abrange. Serve um propósito semelhante ao atributo rowspan em elementos HTML nativos <td> e <th>, mas é concebido para widgets personalizados construídos com roles ARIA como gridcell, rowheader e columnheader dentro de estruturas grid ou treegrid.

De acordo com a especificação WAI-ARIA, o valor de aria-rowspan deve ser um número inteiro positivo — um número inteiro maior que zero. Um valor de "0" é inválido porque implica que a célula abrange zero linhas, o que é semanticamente sem significado. Note que isto difere do atributo nativo rowspan do HTML, onde "0" tem um significado especial (abranger todas as linhas restantes no grupo de linhas). O atributo ARIA não suporta este comportamento.

Isto importa principalmente para a acessibilidade. Leitores de ecrã e outras tecnologias assistivas dependem do aria-rowspan para transmitir a estrutura de grades personalizadas aos utilizadores. Um valor inválido de "0" pode confundir a tecnologia assistiva, potencialmente fazendo com que represente mal o layout da grade ou ignore completamente a célula. Garantir valores válidos ajuda os utilizadores que dependem destas ferramentas a navegar corretamente no seu conteúdo.

Para corrigir este problema, determine quantas linhas a célula realmente abrange e defina aria-rowspan para esse número. Se a célula ocupar uma única linha, use "1". Se abranger múltiplas linhas, use a contagem apropriada. Se não precisar de abrangência de linhas de todo, pode simplesmente remover completamente o atributo aria-rowspan, uma vez que o comportamento padrão é abranger uma linha.

Exemplos

Incorreto: aria-rowspan definido como zero

<div role="grid">
  <div role="row">
    <div role="gridcell" aria-rowspan="0">Name</div>
    <div role="gridcell">Value</div>
  </div>
</div>

O valor "0" não é um número inteiro positivo, pelo que o validador reporta um erro.

Correto: aria-rowspan definido como um número inteiro positivo

Se a célula abranger uma única linha, use "1" (ou remova o atributo, uma vez que uma linha é o padrão):

<div role="grid">
  <div role="row">
    <div role="gridcell" aria-rowspan="1">Name</div>
    <div role="gridcell">Value</div>
  </div>
</div>

Correto: aria-rowspan para uma célula que abrange múltiplas linhas

Se a célula realmente abrange duas linhas, defina o valor em conformidade:

<div role="grid">
  <div role="row">
    <div role="gridcell" aria-rowspan="2">Category</div>
    <div role="gridcell">Item A</div>
  </div>
  <div role="row">
    <div role="gridcell">Item B</div>
  </div>
</div>

Correto: remover o atributo quando não é necessária abrangência

Se a célula não abrange múltiplas linhas, a correção mais simples é remover completamente o aria-rowspan:

<div role="grid">
  <div role="row">
    <div role="gridcell">Name</div>
    <div role="gridcell">Value</div>
  </div>
</div>

Quando usar aria-rowspan vs. HTML nativo

Se está a construir uma tabela de dados, prefira elementos HTML nativos <table>, <tr>, <td> e <th> com o atributo rowspan padrão. A semântica de tabela nativa é automaticamente compreendida pelos navegadores e tecnologias assistivas sem quaisquer atributos ARIA. Reserve o aria-rowspan para widgets interativos personalizados (como grades de estilo folha de cálculo ou grades de árvore) onde os elementos de tabela nativos não são apropriados. O valor de aria-rowspan deve sempre corresponder ao layout visual e estrutural real da sua grade para evitar confundir os utilizadores de tecnologia assistiva.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.