Acerca de este problema HTML
El atributo aria-setsize indica a las tecnologías asistivas cuántos elementos existen en un conjunto de elementos relacionados (como elementos de lista o elementos de árbol). Es particularmente útil cuando no todos los elementos de un conjunto están presentes en el DOM — por ejemplo, en listas virtualizadas, resultados paginados o contenido de carga diferida. Según la especificación WAI-ARIA 1.2:
Los autores DEBEN establecer el valor de
aria-setsizea un número entero igual al número de elementos en el conjunto. Si el número total de elementos es desconocido, los autores DEBERÍAN establecer el valor dearia-setsizea-1.
Esto significa que -1 es un valor específicamente recomendado para casos donde el recuento total de elementos es indeterminado. El patrón de coincidencia del validador de W3C espera solo dígitos no negativos, por lo que rechaza el carácter - inicial. Este es un error conocido del validador y no refleja un problema real con tu HTML.
Por qué -1 importa para la accesibilidad
Al construir interfaces con contenido dinámico o parcialmente cargado, los lectores de pantalla necesitan comunicar el tamaño de un conjunto a los usuarios. Si tienes una lista de resultados de búsqueda pero no conoces el recuento total, establecer aria-setsize="-1" indica a las tecnologías asistivas que el tamaño del conjunto es desconocido. Sin esto, un lector de pantalla podría anunciar información incorrecta o confusa sobre cuántos elementos existen.
Qué debes hacer
No cambies tu marcado para evitar este error del validador. El valor -1 es correcto y sirve un propósito importante de accesibilidad. Eliminarlo o reemplazarlo con un número positivo arbitrario degradaría la experiencia para usuarios de tecnologías asistivas.
Ejemplos
Uso válido que activa el falso positivo
Este marcado es correcto pero será marcado por el validador:
<ul>
<li role="option" aria-setsize="-1" aria-posinset="1">Resultado A</li>
<li role="option" aria-setsize="-1" aria-posinset="2">Resultado B</li>
<li role="option" aria-setsize="-1" aria-posinset="3">Resultado C</li>
</ul>
Aquí, el número total de resultados es desconocido (tal vez se cargan bajo demanda), por lo que aria-setsize="-1" señala correctamente esto a las tecnologías asistivas.
Tamaño de conjunto conocido (sin error del validador)
Cuando el número total de elementos es conocido, usa el recuento real. Esto no activará el error del validador:
<ul>
<li role="option" aria-setsize="5" aria-posinset="1">Elemento 1</li>
<li role="option" aria-setsize="5" aria-posinset="2">Elemento 2</li>
<li role="option" aria-setsize="5" aria-posinset="3">Elemento 3</li>
</ul>
Cuando aria-setsize no es necesario
Si todos los elementos del conjunto están presentes en el DOM, no necesitas aria-setsize en absoluto — el navegador puede calcular el tamaño del conjunto automáticamente:
<ul role="listbox">
<li role="option">Manzana</li>
<li role="option">Plátano</li>
<li role="option">Cereza</li>
</ul>
En resumen, si ves este error del validador y estás usando intencionalmente aria-setsize="-1" porque el recuento total de elementos es desconocido, tu código es correcto. Puedes ignorar con seguridad esta advertencia específica.
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.