Metodología del Observatorio de Accesibilidad Web UNE 139803:2012 [Recurso electrónico] : (aprobado en julio 2015) / [elaboración y coordinación de contenidos, Secretaría General de Administración Digital (SGAD)]. -- [Madrid] : Ministerio de Hacienda y Función Pública, Centro de Publicaciones, 2017. – (Administración electrónica)

1 recurso en línea: EPUB

NIPO 169-17-207-5

1. Internet en la administración pública-España

2. Diseño de páginas web

I. España. Secretaría General de Administración Digital

II. España. Ministerio de Hacienda y Función Pública. Centro de Publicaciones

004.738.5:35(460)

TÍTULO: Metodología del Observatorio de Accesibilidad Web UNE 139803:2012

Elaboración y coordinación de contenidos:
Secretaría General de Administración Digital (SGAD)
Responsable de la edición digital: Subdirección General de Información, Documentación y Publicaciones

Diciembre, 2017

El presente documento cumple con las condiciones de accesibilidad del formato PDF (Portable Document Format). Se trata de un documento estructurado y etiquetado, provisto de alternativas a todo elemento no textual, marcado de idioma y orden de lectura adecuado.

Para ampliar información sobre la construcción de documentos PDF accesibles puede consultar la guía de accesibilidad en PDFs con Adobe Acrobat 9.0 disponible en el área de documentación del Portal de la Administración Electrónica (PAe): http://administracionelectronica.gob.es/PAe/accesibilidad/documentacion

Disponible esta publicación en el Portal de Administración Electrónica (PAe):
http://administracionelectronica.gob.es/

Edita:
© Ministerio de Hacienda y Función Pública
Secretaría General Técnica
Subdirección General de Información,
Documentación y Publicaciones
Centro de Publicaciones

Colección: administración electrónica

NIPO:169-17-207-5

El presente documento está bajo la licencia Creative Commons Reconocimiento-No comercial-Compartir Igual versión 4.0 España.

Usted es libre de:

— Compartir — copiar y redistribuir el material en cualquier medio o formato.

— Adaptar — remezclar, transformar y crear a partir del material.

— El licenciante no puede revocar estas libertades en tanto usted siga los términos de la licencia.

Bajo las condiciones siguientes:

— Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).

— Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.

Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Esto es un resumen legible por humanos del texto legal (la licencia completa) disponible en:
http://creativecommons.org/licenses/by-nc-sa/4.0/deed.es

1. INTRODUCCIÓN

Mediante un Observatorio de Accesibilidad Web se pretende realizar una revisión del grado de cumplimiento en materia de accesibilidad de un conjunto de sitios web.

La realización de un Observatorio de Accesibilidad Web periódico permite conocer el grado de cumplimiento de los principios de Accesibilidad Web, y cómo éste va evolucionando a lo largo del tiempo. Asimismo se evalúa el empleo de estándares, y se trata de identificar los problemas más comunes. De esta forma se consigue extraer las conclusiones y planes de acción adecuados para apoyar a las organizaciones a alcanzar el siguiente objetivo: Conseguir afianzar un nivel óptimo de cumplimiento de forma sostenible en el tiempo.

Las diferentes iteraciones del Estudio de Observatorio se realizarán según una metodología propia que supone una abstracción de los principios de accesibilidad en función de un conjunto de evaluaciones significativas. El objetivo, en este caso, consiste en disponer de un conjunto de verificaciones relevantes que permitan mostrar de forma resumida el estado de accesibilidad de una página web y de un portal.

El presente Estudio de Observatorio analizará el estado en que se encuentran los sitios web de las Administraciones Públicas de España en cuanto al cumplimiento de los requisitos de accesibilidad exigidos legalmente (prioridad 1 y 2 de UNE 139803:2012). El estudio se realizará sobre todos los portales pertenecientes a la Administración General del Estado. Así mismo se realizará un estudio equivalente sobre un conjunto de sitios web de las Comunidades Autónomas y Entidades Locales.

1.1. ANTECEDENTES

La Dirección de Tecnologías de la Información y las Comunicaciones, adscrita al Ministerio de Hacienda y Administraciones Públicas a través de la Secretaría de Estado de Administraciones Públicas tiene entre sus funciones el impulso de la Administración Digital mediante la realización de estudios y el diseño y ejecución técnica de programas de actuación, la cooperación con otras Administraciones públicas y el desarrollo y difusión de las herramientas y servicios comunes necesarios para ello.

Asimismo le corresponde la evaluación de las actuaciones realizadas y la elaboración de las recomendaciones necesarias, todo ello en el marco de las directrices que se establezcan por la Comisión de Estrategia TIC y por el Comité Sectorial de Administración Electrónica, a los cuales prestará apoyo técnico.

La iniciativa del Observatorio de Accesibilidad Web¹ se puso en marcha en el año 2010 prestando desde entonces diferentes servicios basados en el estándar UNE 139803:2004 (WCAG 1.0). Con la aprobación del nuevo estándar 139803:2012 (WCAG 2.0) se iniciaron en 2013 diferentes actuaciones para promover la aplicación de este nuevo estándar. La definición de esta nueva metodología permitirá realizar los estudios periódicos del observatorio de accesibilidad web con respecto a este nuevo estándar.

2. METODOLOGÍA

La metodología del Observatorio de Accesibilidad se basa en la experiencia de los expertos en accesibilidad y en la realización de distintos observatorios previos.

Los análisis de las páginas se efectúan de forma automática por lo que se ha hecho un esfuerzo importante en que las verificaciones realizadas sobre cada página no solo consistan en aquellas puramente automáticas, sino que a través de distintos algoritmos y métricas se han automatizado mediante estimaciones un buen número de comprobaciones cuya revisión es tradicionalmente manual.

De esta forma, el rango de verificaciones analizadas se amplía permitiendo un análisis de la mayoría de los requisitos más representativos de la accesibilidad de un sitio web, en base a la norma UNE 139803:2012.

A continuación se detallarán y explicarán convenientemente los aspectos más importantes de esta metodología.

2.1. MUESTRA DE PORTALES

El estudio se realiza en 3 ámbitos de actuación totalmente diferenciados: el ámbito estatal, el ámbito regional y el ámbito local.

En el caso del ámbito estatal, el estudio abarca la mayoría de portales pertenecientes a la Administración General del Estado y a los poderes del Estado (ejecutivo, legislativo y judicial), desde los sitios web de los Ministerios, hasta las sedes electrónicas y portales de menor tamaño. Con el fin de obtener resultados comparables entre portales del mismo tipo, se ha llevado a cabo una categorización de los mismos en función de su nivel de importancia dentro de la administración, su tipo de contenido, o la finalidad para la que fueron creados. De esta forma se obtienen cinco grupos de portales:

•Segmento Principales. Portales principales de Ministerios y Organismos Públicos de mayor acceso.

•Segmento Organismos. Portales identificativos del resto de organismos de la AGE.

•Segmento Temáticos. Portales gestionados por la Administración pero que no identifican al organismo: webs promocionales, de información específica sobre determinados aspectos, de servicios, recogida de datos, etc.

•Segmento Otros. Otros organismos del Estado y de la Administración.

•Segmento Sedes. Sedes electrónicas.

En el caso del ámbito regional, el estudio abarca un gran número de portales de la Administración Autonómica, desde los sitios web principales de la Comunidad hasta los portales de sedes electrónicas, pasando por los portales de Salud, Empleo y otros. De esta forma, para el Observatorio de las Comunidades Autónomas se obtienen ocho grupos de portales, cada uno de los cuales contiene el mismo tipo de portal de cada Comunidad:

•Segmento I. Portales principales de cada Comunidad Autónoma.

•Segmento II. Boletines Oficiales de cada Comunidad Autónoma.

•Segmento III. Parlamento de cada Comunidad Autónoma.

•Segmento IV. Sedes electrónicas u Oficinas Virtuales en los casos en los que aún no exista sede (una por cada Comunidad Autónoma).

•Segmento V. Portales de Educación.

•Segmento VI. Portales de Empleo.

•Segmento VII. Portales de Salud.

•Segmento VIII. Portales de Tributos.

Por último, en el caso del ámbito local, el estudio abarca una selección de portales de la Administración Local de cada Provincia. Con el fin de obtener resultados comparables entre portales del mismo tipo en cada una de las Provincias, se ha llevado a cabo una categorización de los mismos en función de las características de la entidad local. En el caso del Observatorio de Entidades Locales, la muestra se ha dividido en cuatro grupos de portales, cada uno de los cuales contiene el mismo tipo de portal de cada Provincia:

•Segmento I. Portales principales de la Diputación de cada Provincia.

•Segmento II. Portales del Ayuntamiento de la capital de cada Provincia.

•Segmento III. Portales del municipio de mayor población de cada Provincia (excluyendo la capital).

•Segmento IV. Portales de municipios de entre 3000 y 4000 habitantes de cada Provincia.

Para la sección de entidades locales en base a su población se han tomado como referencia los últimos datos demográficos publicados por el Instituto Nacional de Estadística, correspondientes al 1 de enero de 2014.

2.2. MUESTRA DE PÁGINAS

La muestra consiste en el conjunto de páginas que se revisarán en el análisis de cada portal. La elección de la muestra se realiza de forma automática mediante un proceso aleatorio en el que se seleccionan un total de 16 páginas correspondientes a distintos niveles en la estructura de navegación del portal. Además la muestra siempre contiene la página principal del portal, lo que hace un total de 17 páginas analizadas. De forma excepcional puede que el rastreador no consiga obtener las 17 páginas que debería, ya sea porque no puede seguir suficientes enlaces, o porque el portal no alcance ese número de páginas, por lo que en ese caso la muestra de páginas analizadas en el portal sería menor.

Para el rastreo automático de páginas se parte de una URL inicial tomada como semilla, la cual se corresponde con la página principal del portal. A partir de dicha semilla, se realiza un rastreo de profundidad 4 y amplitud 4.

Para comprender adecuadamente este rastreo, se introducen a continuación los conceptos de profundidad y amplitud:

•Profundidad. Mediante este valor se define el nivel de profundidad que alcanza el rastreo dentro de la estructura de navegación del portal. La profundidad alcanzada no se corresponde necesariamente con la profundidad dentro de la jerarquía de contenido del portal, sino que se refiere a la profundidad de navegación, es decir, el número de clics necesarios para llegar hasta la página. De esta forma, una página de profundidad 4 será aquella para la que ha sido necesario seguir cuatro enlaces desde la página principal para llegar a ella.

•Amplitud. Este parámetro hace referencia al número de páginas analizadas en cada nivel de profundidad, es decir, por cada nivel que el rastreador se adentre en el portal, se seleccionarán tantas páginas como vengan definidas en la amplitud.

Se muestra a continuación un gráfico representativo del rastreo realizado por el observatorio según los valores de profundidad y amplitud definidos.

En el caso de los portales del Segmento Principales en el ámbito estatal, la muestra de páginas se realiza de forma manual para asegurar la inclusión de distintos tipos de páginas y plantillas. Esta selección contiene alguno de los siguientes tipos de páginas:

•Páginas de la sección de Gabinete de Prensa. Se seleccionarán dos páginas de esta sección, de distintas tipologías.

•Página/s del buscador.

•Mapa Web.

•Páginas en idioma distinto al español.

•Páginas de las secciones más visitadas del portal.

•Páginas de primer nivel.

•Páginas de niveles interiores (segundo y tercer nivel).

2.3. LISTA DE VERIFICACIONES

En la realización del análisis de accesibilidad de cada página de un portal se comprueba la adecuación de un conjunto finito de verificaciones definidas en función de un nivel de análisis y un nivel de adecuación:

•Nivel de análisis: se refiere al tipo de características a observar dentro de una determinada página Web. Se definen dos niveles de análisis, cada nivel de análisis contiene un conjunto de verificaciones.

◦Nivel de Análisis I: se encarga de características de accesibilidad relacionadas con la accesibilidad del contenido.

◦Nivel de Análisis II: se encarga de características de accesibilidad relacionadas con la accesibilidad de la navegación y la interacción.

•Nivel de adecuación: se definen dos niveles de adecuación en función de la prioridad de las características analizadas.

◦Prioridad 1: se encarga de características básicas que una página Web tiene que cumplir para ser accesible. Las verificaciones de este nivel están enmarcadas en los requisitos de Prioridad 1 de la norma UNE 139803:2012 (nivel A WCAG 2.0).

◦Prioridad 2: se encarga de características más complejas que una página Web debe cumplir para ser accesible. Las verificaciones de este nivel están enmarcadas en los requisitos de Prioridad 2 de la norma UNE 139803:2012 (nivel AA WCAG 2.0).

Cada verificación viene definida por una serie de elementos:

•Identificador de la verificación: Se trata del identificador único de cada verificación. Está formado por tres dígitos separados por puntos que indican el nivel de análisis, el nivel de adecuación y el número de secuencia de la verificación. Se utiliza para hacer referencia a una verificación de forma unívoca.

•Nombre de la verificación: Indica el elemento o característica a ser evaluado.

•Pregunta: Se trata de una pregunta concreta que especifica cómo se debe evaluar la verificación.

•Respuestas: Posibles respuestas a la pregunta formulada para cada verificación.

•Valor: Indica el grado de cumplimiento de una respuesta respecto a la verificación, y representa la medida cuantitativa de la comprobación. Se trata de un valor numérico que indica si se ha superado el grado mínimo de calidad exigido para la verificación. Los posibles valores son 0, 1 ó No Puntúa. Cuando una página no contiene los elementos evaluados en la verificación (por ejemplo una verificación relativa a tablas de datos en una página que no tiene tablas de datos) se asignará el valor No Puntúa; cuando en una página se superan los niveles mínimos exigidos en la comprobación se asignará el valor 1; en caso contrario se asignará el valor 0.

•Modalidad: Indica la adecuación a accesibilidad de una respuesta concreta. Este elemento representa la medida cualitativa de la comprobación, la cual indicará si una verificación cumple con la accesibilidad o no. Los posibles valores son Pasa (representado con un tic verde, indica que la comprobación se cumple) y Falla (representado con un aspa roja, indica que la comprobación no se cumple). En una verificación, un valor No Puntúa siempre se corresponde con la modalidad Pasa, ya que al no existir elementos de ese tipo en la página, no representan un problema de accesibilidad.

El observatorio consiste en un total de 20 verificaciones distribuidas en los grupos de análisis y adecuación explicados anteriormente. Estas verificaciones contemplan los principales aspectos de accesibilidad que una página web debe cumplir.

Para cada una de estas verificaciones se realiza un número variable de comprobaciones unitarias cuya combinación de resultados genera la respuesta a la verificación, junto con su valor y modalidad. Todas estas comprobaciones se realizan de forma automática, incluyendo el análisis de varios requisitos de revisión manual, los cuales se han automatizado mediante diversos algoritmos con un grado de fiabilidad bastante alto.

La elección de una muestra representativa de los aspectos de accesibilidad a analizar, en lugar del análisis de todos los requisitos de la norma UNE 139803:2012, permite no solo reducir el tiempo de obtención de los resultados, sino centrar la atención y los esfuerzos en aquellos aspectos más importantes y relevantes de la accesibilidad de un sitio web.

Mientras que un análisis exhaustivo de accesibilidad pretende obtener unos resultados detallados de la accesibilidad de un sitio web, incluyendo todas las posibles inadecuaciones que presente éste respecto a los requisitos de accesibilidad de la norma UNE 139803:2012; el objetivo de un Observatorio de Accesibilidad es obtener una visión global del grado de accesibilidad presente en un conjunto de sitios web.

2.4. RESULTADOS OBTENIDOS

La realización del Observatorio da lugar a una gran cantidad de cifras y valoraciones, por lo que se han generado una serie de gráficas y valores estadísticos que reflejan de forma esquemática los resultados obtenidos.

Con el objetivo de disponer de indicadores agregados que muestren el estado de los distintos portales en función de las verificaciones planteadas se han creado cuatro tipos de puntuaciones medias: Puntuación Media de Página (PMP), Puntuación Media de Portal (PMPO), Puntuación Media de Verificación (PMV) y Puntuación Media de Nivel de Análisis (PMNA).

Así mismo, también se obtienen indicadores de adecuación para cada verificación, nivel de análisis, página y portal.

2.4.1. Puntuaciones Medias

La Puntuación Media de Página se obtiene sumando la puntuación obtenida en las 20 verificaciones de la metodología y dividiendo este resultado entre el número de verificaciones puntuables en la página, con lo que se obtendrá un valor entre 0 y 1 que finalmente se multiplicará por 10.

PMP: Puntuación Media de Página

SRV: Suma de resultados de todas las verificaciones en la página

VP: Nº de verificaciones puntuables en la página

Agregando las puntuaciones de las páginas se obtiene la Puntuación Media del Portal mediante la media aritmética de las puntuaciones medias de todas las páginas del portal:

PMPO: Puntuación media del portal

SPMP: Suma de las puntuaciones medias de páginas

NP: Nº de páginas

La Puntuación Media de Verificación muestra la valoración global de una determinada verificación en un portal. Para calcular este valor se tiene en cuenta la suma de todos los puntos obtenidos en la verificación dada para cada página del portal, y el recuento de páginas en las que la verificación ha obtenido un valor distinto de “No puntúa”. De esta forma la puntuación media de una verificación se obtiene según la siguiente fórmula:

PMV: Puntuación Media de Verificación

SR: Suma de resultados de la verificación en cada página

PP: Nº de páginas puntuables

De forma más global se agrupan las puntuaciones medias de las distintas verificaciones a través de los niveles de análisis. Para obtener la Puntuación Media de un Nivel de Análisis se calcula la media aritmética de las puntuaciones medias obtenidas para cada verificación perteneciente al nivel de análisis:

PMNA: Puntuación media del nivel de análisis

SPMVN: Suma de las puntuaciones medias de verificación del nivel

VN: Nº de verificaciones del nivel (10)

Todos estos valores de puntuación media oscilarán entre 0 y 10, permitiendo comparar fácilmente los resultados entre los distintos portales.

2.4.2. Nivel de adecuación

Para obtener de forma clara una visión general del grado de accesibilidad, se obtiene el nivel de adecuación Parcial, Prioridad 1 o Prioridad 1 y 2 para las distintas métricas del observatorio: verificación, nivel de análisis, página y portal.

Para facilitar la comprensión de esta valoración, se dividen las 20 verificaciones en cuatro grupos de 7 ó 3 verificaciones cada uno:

Nivel I, Prioridad 1

Nivel I, Prioridad 2

Nivel II, Prioridad 1

Nivel II, Prioridad 2

En primer lugar se obtiene el nivel de adecuación de una verificación (modalidad), de acuerdo a las tablas de la metodología expuestas en el punto anterior.

El grado de adecuación del nivel de análisis (Nivel I y Nivel II) se obtiene a partir de la conformidad de las verificaciones de dicho nivel, obedeciendo a las siguientes reglas:

Prioridad 1 y 2. Se obtiene cuando los grupos de adecuación Prioridad 1 y Prioridad 2 tienen un máximo de una verificación por grupo con modalidad “Rojo” (Falla).

Prioridad 1. Se obtiene cuando el grupo de adecuación Prioridad 1 tiene un máximo de una verificación con modalidad “Rojo” (Falla), y el grupo de adecuación Prioridad 2 tiene dos o más verificaciones con modalidad “Rojo” (Falla).

Parcial. Se obtiene cuando el grupo de adecuación Prioridad 1 tiene dos o más verificaciones con modalidad “Rojo” (Falla).

A partir de la adecuación de los niveles de análisis se obtiene la adecuación de la página de la siguiente forma:

Prioridad 1 y 2. Se obtiene un nivel Prioridad 1 y 2 cuando los Niveles de Análisis I y II tienen una adecuación Prioridad 1 y 2.

Prioridad 1. Se obtiene un nivel Prioridad 1 cuando al menos uno de los Niveles de Análisis tiene una adecuación Prioridad 1.

Parcial. Se obtiene un nivel Parcial cuando al menos uno de los Niveles de Análisis tiene un nivel de adecuación Parcial.

Finalmente, el nivel de adecuación de un portal se obtendrá a partir de la adecuación de cada página, y una fórmula matemática.

Una vez obtenida la conformidad de cada página, se asigna un valor numérico a cada una según la siguiente regla:

•Si tiene nivel Parcial, se asignarán 0 puntos.

•Si tiene nivel Prioridad 1, se asignarán 5 puntos.

•Si tiene nivel Prioridad 1 y 2, se asignarán 10 puntos.

A continuación se suman las puntuaciones asignadas a cada página y se divide entre el número de páginas, obteniendo un valor numérico para el portal entre 0 y 10.

VNP: Valor Numérico del Portal

SP: Suma de las Puntuaciones de las páginas

NP: Nº de páginas

De acuerdo al valor numérico del portal, se asignará el nivel de conformidad de la siguiente manera:

•Si el valor es menor a 3.5, el nivel seráParcial.

•Si el valor es mayor o igual a 3.5 y menor que 8, el nivel será Prioridad 1.

•Si el valor es mayor o igual a 8, el nivel será Prioridad 1 y 2.

2.5. AGRUPACIÓN POR ASPECTOS

Desde el punto de vista técnico se ha orientado el Observatorio como una revisión de elementos relativos a la accesibilidad organizados en aspectos. Los aspectos que se han revisado son:

•General: este aspecto abarca aquellos elementos genéricos de una página Web como la identificación de idiomas, el título de página o la compatibilidad del código.

•Alternativas: son aquellos elementos que proporcionan distintos métodos de acceso a la información, de forma que pueda ser comprendida por el mayor número de personas. En este grupo se consideran las alternativas textuales a todo elemento no textual.

•Estructura: este aspecto incluye elementos relativos a la técnica aplicada a la construcción de los diversos elementos que forman una página Web como son las tablas, las listas, los encabezados u otras formas de agrupación o asociación estructural.

•Presentación: se trata de aquellos elementos relativos a la disposición y aspecto de una página Web tales como la separación de contenido y presentación o el uso de combinaciones de colores con un contraste suficiente.

•Navegación: se trata de aquellos elementos que proporcionan los métodos adecuados para facilitar la transición del usuario a lo largo de las distintas páginas de un portal Web. En este grupo se encuentran los enlaces, las redirecciones o los mecanismos generales de navegación por el sitio como el mapa web.

Se muestra a continuación una tabla en la que se indica el aspecto en el cual está encuadrada cada verificación.

CÓDIGO | NOMBRE | ASPECTO
Nivel de Análisis I
1.1.1 | Existencia de alternativas textuales | Alternativas
1.1.2 | Uso de encabezados | Estructura
1.1.3 | Uso de listas | Estructura
1.1.4 | Tablas de datos | Estructura
1.1.5 | Agrupación estructural | Estructura
1.1.6 | Separación de contenido y presentación | Presentación
1.1.7 | Identificación del idioma principal | General
1.2.1 | Identificación de los cambios de idioma | General
1.2.2 | Contraste suficiente | Presentación
1.2.3 | Sección de Accesibilidad | General
Nivel de Análisis II
2.1.1 | Navegación con Javascript accesible | Navegación
2.1.2 | Control del usuario | Navegación
2.1.3 | Formularios | Estructura
2.1.4 | Título de página y marcos | General
2.1.5 | Enlaces descriptivos | Navegación
2.1.6 | Cambios de contexto | Navegación
2.1.7 | Compatibilidad | General
2.2.1 | Múltiples vías de navegación | Navegación
2.2.2 | Foco del teclado | General
2.2.3 | Navegación consistente | Navegación

Mediante la agregación de los resultados obtenidos en las distintas verificaciones para todos los portales del observatorio se obtienen las puntuaciones medias de los aspectos de accesibilidad definidos.

Para comprender adecuadamente cómo se obtiene esta puntuación es necesario introducir el concepto de Puntuación Media de Aspecto del Portal.

La Puntuación Media de Aspecto del Portal representa el valor medio obtenido por las verificaciones pertenecientes a ese aspecto para un portal en particular, y se obtiene a partir de la media aritmética de las Puntuaciones Medias de dichas verificaciones.

PMAP: Puntuación Media de Aspecto del Portal

SPMVA: Suma de puntuaciones medias de las verificaciones del aspecto

VA: Nº de verificaciones del aspecto

Por último, para obtener la Puntuación Media de Aspecto, se realiza la media aritmética de la puntuación de todos los portales.

PMA: Puntuación Media de Aspecto

SPMA: Suma de puntuaciones medias de aspecto de los portales

NP: Nº de portales

2.6. EVOLUCIÓN DE RESULTADOS

El observatorio de Accesibilidad pretende servir como instrumento para realizar un seguimiento efectivo del nivel de accesibilidad de los sitios Web públicos. Por ello, es de vital importancia el análisis y comparativa de los resultados obtenidos a lo largo del tiempo en los distintos observatorios realizados, de forma que se pueda observar la tendencia de los mismos.

Para ello se proporciona un buen número de gráficas de evolución que permiten conocer tanto de forma global como más específica los resultados obtenidos en los últimos observatorios realizados. Estas gráficas muestran la evolución tanto de la puntuación global del observatorio, como de los niveles de adecuación, la puntuación de cada verificación, o la puntuación de los aspectos de accesibilidad.

3. TABLAS DE LA METODOLOGÍA

Se presentan a continuación las tablas resumen de las verificaciones a realizar en el Observatorio, así como las tablas detalladas, las cuales contienen información más precisa sobre las distintas comprobaciones que se realizan sobre cada página para cada verificación o requisito.

Así mismo, en el siguiente punto se indicará de forma más precisa cada comprobación unitaria del analizador de accesibilidad que interviene en la evaluación de cada verificación.

Tabla 1. Definición de puntos de verificación Nivel de Análisis I

NIVEL DE ADECUACIÓN PRIORIDAD 1
Identificador | Nombre | Pregunta | Respuesta | Valor | Modalidad
1.1.1 | Existencia de alternativas textuales | ¿Los elementos no textuales tienen texto alternativo adecuado? | No hay elementos no textuales Sí No | No Puntúa 1 0 | Pasa Pasa Falla
1.1.2 | Uso de encabezados | ¿Se usan encabezados para reflejar la estructura del documento de forma aceptable? | Sí Sí, pero no los suficientes No | 1 0 0 | Pasa Pasa Falla
1.1.3 | Uso de listas | ¿Las listas están correctamente marcadas? | No hay listas Sí No | No Puntúa 1 0 | Pasa Pasa Falla
1.1.4 | Tablas de datos | ¿Las tablas de datos tienen encabezados, información de resumen adecuada, y asociación de celdas en caso de ser complejas? | No se usan tablas de datos Sí No | No Puntúa 1 0 | Pasa  Pasa Falla
1.1.5 | Agrupación estructural | ¿Se realiza un marcado adecuado de los párrafos de texto | Sí No | 1 0 | Pasa Falla
1.1.6 | Separación de contenido y presentación | ¿Se separa adecuadamente el contenido de la presentación, sin usar estilos para transmitir información ni elementos estructurales únicamente con fines presentacionales? | Sí No | 1 0 | Pasa  Falla 
1.1.7 | Identificación del idioma principal | ¿Se identifica el idioma principal correctamente? | Sí No | 1 0 | Pasa Falla
NIVEL DE ADECUACIÓN PRIORIDAD 2
Identificador | Nombre | Pregunta | Respuesta | Valor | Modalidad
1.2.1 | Identificación de los cambios de idioma | ¿Se identifican los cambios de idioma correctamente? | Sí No | 1 0 | Pasa Falla
1.2.2 | Contraste suficiente | ¿El contraste entre el color del texto y el color de fondo es el suficiente? | Sí No | 1 0 | Pasa Falla
1.2.3 | Sección de Accesibilidad | ¿La página tiene un enlace a la sección de Accesibilidad y ésta tiene dirección de contacto y fecha de revisión? | Sí Sí, sin contacto o fecha No | 1 0 0 | Pasa  Pasa Falla

Tabla 2. Definición de puntos de verificación Nivel de Análisis II

NIVEL DE ADECUACIÓN PRIORIDAD 1
Identificador | Nombre | Pregunta | Respuesta | Valor | Modalidad
2.1.1 | Navegación con Javascript accesible | ¿Se usa Javascript de forma independiente de dispositivo? | No se emplea javascript en elementos de interacción Sí No | No Puntúa 1 0 | Pasa Pasa Falla
2.1.2 | Control del usuario | ¿Puede el usuario controlar los parpadeos, las redirecciones y actualizaciones correctamente? | Sí No | 1 0 | Pasa Falla

2.1.3

Formularios

¿Todos los controles tienen etiquetas asociadas, se agrupan los controles relacionados y se identifican los campos obligatorios en los formularios?

No hay formularios

Sí

Sí, pero hay un número moderado de campos sin agrupar
No

No puntúa

1
0

0

2.1.4 | Título de página y de marcos | ¿La página y los marcos tienen un título significativo que identifica su contenido? | Sí, título de página válido y sin marcos Sí, título de página válido y marcos con título No, sin título de página o sin título de marcos | 1 0 0 | Pasa  Pasa Falla
2.1.5 | Enlaces descriptivos | ¿Los enlaces tienen un texto adecuado? | No hay enlaces Sí No | No Puntúa 1 0 | Pasa  Pasa Falla
2.1.6 | Cambios de contexto | ¿Los cambios de contexto se realizan adecuadamente? | Sí No | 1 0 | Pasa Falla
2.1.7 | Compatibilidad | ¿El código es procesable? | Sí No | 1 0 | Pasa Falla
NIVEL DE ADECUACIÓN PRIORIDAD 2
Identificador | Nombre | Pregunta | Respuesta | Valor | Modalidad
2.2.1 | Múltiples vías de navegación | ¿Existe un mapa web o un buscador? | Sí No | 1 0 | Pasa Falla
2.2.2 | Foco del teclado | ¿Se respeta la visibilidad y el orden del foco del teclado? | Sí Sí, con un uso moderado de tabindex No | 1 0 0 | Pasa  Pasa  Falla 

2.2.3

Navegación consistente

¿El uso de los enlaces es consistente y el esperado por los usuarios?

No hay enlaces

Si

Sí, con algún enlace roto

No

No Puntúa

1
0

0

3.1. TABLA DETALLADA NIVEL DE ANÁLISIS I

Requisito | Check Analizador | Resultados | Valor | Modalidad
Adecuación Prioridad 1 |  |  |

1.1.1.- Existencia de alternativas textuales

- Se verifica que todos los elementos “area” empleen el atributo “alt”.

- Se verifica que si un elemento “area” tiene el atributo “href”, también posea el atributo “alt” no vacío.

- Se verifica que si hay algún input de tipo imagen tenga un texto alternativo no vacío.

- Se verifica que todos los elementos “applet” tienen un atributo “alt” y un contenido textual en el contenido del elemento “applet”.

- Se verifica si el texto alternativo sigue el patrón “*.jpg”, “*.jpeg”, “*.gif”, “*.png”, “*.bmp”; es alguno de los siguientes “Imagen”, “Dibujo”, “Foto”, “Fotografía”, “Gráfico”, “Separador”, “Decorativa”, “Imagen decorativa”, “Texto alternativo”; o sigue patrones similares en la misma página como “Pic1”, “Pic2”, “0001”, “0002”.

- Se verifica que las imágenes sin alt están correctamente marcadas como imágenes decorativas transparentes para los lectores de pantalla

- Se verifica que las imágenes con alt vacío están correctamente marcadas como imágenes decorativas transparentes para los lectores de pantalla

- Se verifica que las imágenes con alt no vacío no tengan un atributo role que las marque como decorativas

- Se verifica que las imágenes pequeñas que no pueden aportar información visual se declaran como decorativas y son transparentes para los lectores de pantalla.

- Se verifica que en todas las imágenes con atributo “longdesc” éste es una URL.

a. No hay ningún elemento de los examinados

b. Hay elementos y todos tienen alternativa válida (pasan las validaciones)

c. Hay elementos sin alternativa, algún elemento tiene como alternativa el nombre del archivo o un texto de relleno, hay imágenes decorativas no transparentes para el lector de pantalla, o hay urls incorrectas para descripciones largas.

a. No puntúa

b. 1

c. 0

a. Pasa

b. Pasa

c. Falla

1.1.2.- Uso de encabezados

- Se verifica que el documento no carezca de encabezados

- Se verifica la presencia de un encabezado de primer nivel, en cualquier posición.

- Se verifica que no hay encabezados (elementos H.) vacíos.

- Se verifica que no haya dos encabezados del mismo nivel (o superior) sin contenido entre ellos.

- Se verifica que, a partir del primer encabezado del documento, e independientemente de cuál sea ese nivel, no se producen saltos en los niveles de los encabezados sucesivos.

- Se verifica que se utilicen encabezados de forma adecuada para estructurar el contenido (más de un encabezado si hay al menos 15 párrafos de texto.

a. Todas las verificaciones de encabezados son correctas

b. Se utilizan encabezados pero no los suficientes para estructurar el contenido o sin la presencia de uno de primer nivel

c. Alguna verificación de encabezados es incorrecta

a. 1

b. 0

c. 0

a. Pasa

b. Pasa

c. Falla

1.1.3.- Uso de listas

- Se verifica que cada elemento “li” sea hijo de “ul” u “ol”.

- Se verifica que las listas de definición tengan una estructura correcta.

- Se verifica que cada elemento “dt” sea hijo de “dl”.

- Se verifica que cada elemento “dd” sea hijo de “dl”.

- Se verifica que no haya ningún tipo de lista directamente anidada bajo otra lista ordenada, sin ser elemento de ella.

- Se verifica que no haya ningún tipo de lista directamente anidada bajo otra lista sin orden, sin ser elemento de ella.

- Se verifica que todos los hijos de una lista ordenada sean “li”.

- Se verifica que todos los hijos de una lista sin orden sean “li”.

- Se verifica si hay 3 ó más párrafos seguidos que empiecen por “-“ o “- “ o “*”.

- Se verifica si hay 3 ó más líneas separadas por BR que empiecen por “-“ o “- “o “*”.

- Se verifica si hay 3 ó más párrafos seguidos que empiecen por “x“ o “x “ o “x.” o “xº” o “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras, números romanos.

- Se verifica si hay 3 ó más líneas separadas por BR que empiecen por “x“ o “x “o “x.” o “xº” o “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras, números romanos.

- Se verifica que no haya 3 o más elementos de lista desordenada que empiecen por “x” o “x “ o “x.” o “xº” o “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras, números romanos

- Se verifica que no haya 3 o más párrafos seguidos que empiecen por una imagen cuyas dimensiones sean iguales o inferiores a 10*10.

- Se verifica que no haya 3 o más líneas separadas por BR que empiecen por una imagen cuyas dimensiones sean iguales o inferiores a 10*10.

- Se verifica que no haya tablas formadas por una única columna y 3 o más filas cuyo contenido medio no supere los 150 caracteres.

- Se verifica la presencia de elementos de lista “ul” u “ol” sin ningún elemento de lista hijo.

a. La página no tiene listas

b. La página tiene listas y todas son correctas

c. La página tiene listas y alguna no es correcta

a. No Puntúa

b. 1

c. 0

a. Pasa

b. Pasa

c. Falla

1.1.4.- Tablas de datos

Nota: encabezado = TH, TD con “scope”, o celda con atributos WAI-ARIA “rowheader” o “ columnheader”.

Localizar tablas de datos: aquellas que no tienen ningún elemento TABLE anidado, no están formadas por una única fila o columna, no tienen más de 150 caracteres de texto en ninguna de sus celdas, y al menos el 70% de las celdas tienen texto. En estos casos se valora:

- Se verifica que haya algún elemento de encabezado de tabla (en las filas o columnas exteriores).

- Se verifica que los encabezados se marcan correctamente en tablas de datos simples. Se verifica que la tabla de datos debe tener encabezados (todos los elementos son encabezados) en la primera fila o en la primera columna salvo para elementos con texto vacío. Es decir, falla si no hay ningún encabezado en la primera fila ni en la primera columna o si hay al menos una celda de encabezado y al menos una de datos con texto.

- Se verifica que los encabezados se marcan correctamente en tablas de datos complejas. Se verifica que si hay una tabla con más de un nivel de encabezados (es decir, si hay elementos TH en dos filas o en dos columnas) y no existen atributos id en los elementos TH y headers en los elementos TD.

Asimismo, se verifica lo siguiente cuando encontremos una tabla con encabezados en la primera fila y primera columna, y celda superior izquierda vacía. Si la tabla tiene la primera celda vacía (TD) y el resto de celdas con texto marcadas como encabezado (TH), entonces se comprobará que todas las celdas de la primera columna (que tengan texto) sean encabezados, en caso contrario falla. Esta regla también es aplicable a la inversa, es decir, si la celda arriba a la izquierda es vacía, y la primera columna son encabezados, entonces la primera fila también deben ser encabezados.

- Se verifica que el valor de los atributos “scope” sea válido.

- Se verifica que el valor de los atributos “headers” y “axis” se corresponda con identificadores reales usados en encabezados de la misma tabla.

- Se verifica que no se simula el título de la tabla mediante una celda de encabezado que ocupa todo el ancho de la tabla.

- Se verifica que no se simulan encabezados de tabla mediante encabezados de página

- Se verifica que las tablas de complejidad superior disponen de información de resumen en el atributo summary

- Se verifica que el título y el resumen de las tablas de datos no están duplicado

a. No hay ninguna tabla de datos

b. Hay tablas de datos y todas tienen los encabezados correctos y, en caso de emplearse o ser necesarias, asociaciones entre celdas e información de resumen correctas.

c. Hay tablas y algún encabezado no está marcado; las asociaciones entre celdas son incorrectas o no se usan cuando son necesarias; o la información de resumen no se proporciona de forma correcta.

a. No puntúa

b. 1.

c. 0

a. Pasa

b. Pasa

c. Falla

1.1.5.- Agrupación estructural

- Se verifica que no se estén simulando párrafos mediante el elemento BR (secuencias de dos o más BR seguidos dentro de un P con más de 150 caracteres de texto).

- Se verifica que no se estén simulando párrafos mediante el elemento DIV (elementos DIV que contienen como hijo directo más de 150 caracteres de texto)

- Se verifica que en no se estén empleando más de 10 elementos BR en la página

a. No falla ninguna de las comprobaciones

b. Falla alguna de las comprobaciones

a. 1

b. 0

a. Pasa

b. Falla

1.1.6.- Separación de contenido y presentación

Localizar tablas de maquetación: aquellas que tienen algún elemento TABLE anidado, role=”presentation”, tienen alguna celda con más de 150 caracteres de texto, o menos del 70% de las celdas tienen texto. En estos casos se valora:

- Se verifica que no haya tablas de maquetación que empleen elementos o atributos propios de tablas de datos

- Se verifica que no se empleen elementos desaconsejados con carácter presentacional

- Se verifica que no se incluya contenido que transmita información desde las hojas de estilo con los pseudoelementos :before o :after.

a. No se da ningún caso de los evaluados

b. Se da alguno de los casos evaluados que no separan adecuadamente el contenido y la presentación.

a. 1

b. 0

a. Pasa

b. Falla

1.1.7.- Identificación del idioma principal | - Se verifica que el documento especifique un idioma de forma correcta a través del atributo LANG. - Se verifica que el idioma de la página coincide con el identificado | a. Los idiomas están bien identificados b. Los idiomas no están bien identificados | a. 1 b. 0 | a. Pasa b. Falla
Adecuación Prioridad 2 |  |  |
1.2.1.- Identificación de los cambios de idioma | - Se verifica que todos los idiomas especificados por los elementos sean válidos. - Se verifica que los cambios de idioma más habituales (enlaces de cambio de idioma de una web) estén correctamente marcados. - Se verifica que los textos en inglés encontrados en un documento se marquen adecuadamente. | a. Los idiomas están bien identificados b. Los idiomas no están bien identificados | a. 1 b. 0 | a. Pasa b. Falla
1.2.2.- Contraste suficiente | - Se verifica que las combinaciones de color de primer plano y de color de fondo en una misma regla de las hojas de estilo tienen el contraste suficiente | a. El contraste es suficiente en todos los casos evaluables b. Algún elemento presenta un contraste insuficiente | a. 1. b. 0 | a. Pasa b. Falla

1.2.3.- Sección de Accesibilidad

- Se verifica que todas las páginas tienen un enlace cuyo texto incluya la palabra “accesibilidad”, ya sea en castellano, catalán, euskera, gallego, inglés, o francés.

- Se verifica que en la página de accesibilidad haya una dirección de correo electrónico, o un enlace a la página de contacto.

- Se verifica que en la página de accesibilidad haya una fecha que identifique la última revisión de la web.

- Se verifica que en la página de accesibilidad se proporciona información sobre el Nivel de Conformidad

a. La página tiene enlazada la sección de accesibilidad, y ésta indica el nivel de conformidad, tiene dirección de contacto y fecha de revisión.

b. La página tiene enlazada la sección de accesibilidad, pero ésta no indica el nivel de conformidad, no tiene dirección de contacto o fecha de revisión.

c. La página no tiene enlazada la sección de accesibilidad, o ésta no indica el nivel de conformidad, no tiene dirección de contacto ni fecha de revisión

a. 1

b. 0

c. 0

a. Pasa

b. Pasa

c. Falla

3.2. TABLA DETALLADA NIVEL DE ANÁLISIS II

Requisito | Check analizador | Resultado | Valor | Modalidad
Adecuación Prioridad 1 |  |  |

2.1.1.- Navegación con Javascript accesible

- Se verifica que si se usan eventos dependientes de dispositivo, éstos estén replicados (excepto para “onclick”).

- Se verifica que los elementos que tienen manejadores de eventos son elementos de interacción estándar o bien emplean los atributos “tabindex” y “role” para hacerlos accesibles y compatibles con los lectores de pantalla.

a. No hay ningún elemento de los examinados

b. Hay elementos y éstos son tabulables con teclado y no se usan eventos dependientes o éstos están replicados

c. Hay elementos de interacción no tabulables o con eventos dependientes sin replicar

a. No puntúa

b. 1

c. 0

a. Pasa

b. Pasa

c. Falla

2.1.2.- Control del usuario

- Se verifica que no se use la etiqueta “blink” o “marquee”.

- Se verifica que la página no redirija automáticamente con el elemento “meta” y el atributo “http-equiv” (con tiempo > 0).

- Se verifica que no se refresque la página con el elemento “meta” y el atributo “http-equiv” (independientemente del tiempo definido).

- Se verifica que no se emplee la propiedad de CSS ‘text-decoration: blink’

a. Las validaciones son correctas

b. Alguna de las validaciones es incorrecta

a. 1

b. 0

a. Pasa

b. Falla

2.1.3.- Formularios

Nota: Se considera etiqueta asociada a <label> (con texto) asociado explícitamente; “aria-labelledby” con un “id” correspondiente a un elemento con contenido textual; “aria-label” o “títle” con contenido.

- Se verifica que todos los controles de formulario de tipo texto no ocultos tengan una etiqueta asociada.

- Se verifica que todos los controles de formulario de tipo select tengan una etiqueta asociada.

- Se verifica que todos los controles de formulario de tipo textarea tengan una etiqueta asociada.

- Se verifica que los atributos “for” de una etiqueta se corresponden con algún control de formulario

- Se verifica que los elementos label asociados explícitamente, siendo la única etiqueta asociada, no están ocultos con CSS.

- Se verifica que si hay varios grupos de botones de radio o casillas de verificación en un formulario estén agrupados dentro de un fieldset.

- Se verifica que no se empleen elementos de encabezado para agrupar los controles de formulario en lugar de usar el elemento fieldset

- Se verifica que se empleen elementos fieldset cuando un formulario tiene más de 10 campos de introducción de texto

- Se verifica que todo fieldset tenga su correspondiente etiqueda legend

- Se verifica que en los select con más de 20 opciones se empleen elemento optgroup

- Se verifica que no existan select con opciones de relleno que simulen agrupaciones en lugar de optgroup

- Se verifica que los elementos “optgroup” tienen un atributo “label” con contenido.

- Se verifica que en los formularios con más de 4 campos de introducción de texto se identifican los campos obligatorios (presencia del texto “obligatorio”, “opcional” o equivalentes)

a. La página no tiene controles de formulario

b. La página tiene controles y todos son correctos

c. La página tiene controles, todos son correctos, pero hay 8 o más y menos de 12 campos de introducción de datos sin un <fieldset> que los agrupe.

d. La página tiene controles y alguno no es correcto o hay 12 o más campos de introducción de datos sin un fieldset que los agrupe.

a. No puntúa

b. 1

c. 0

d. 0

a. Pasa

b. Pasa

c. Pasa

d. Falla

2.1.4.- Título de página y marcos

- Se verifica que en el documento haya título.

- Se verifica que el texto del título no sea la cadena vacía, ni textos estándar como “título”, “title”, “untitled”.

- Se verifica que todos los frames tengan un título.

- Se verifica que el texto del atributo “title” de los frames, iframes… no esté vacío.

- Se verifica que todos los iframes tengan un título.

- Se verifica que el título no sea idéntico que el resto de títulos de la muestra (para tamaños de muestra >= 10).

a. La página tiene un título de página válido y no tiene marcos

b. La página tiene un título de página válido y hay presencia de marcos que sí tienen título

c. La página carece de un título válido o hay marcos sin título

a. 1

b. 0

c. 0

a. Pasa

b. Pasa

c. Falla

2.1.5.- Enlaces descriptivos

- Se verifica si hay enlaces “aquí”, “pinche aquí” “haga click aquí”, “haga clic aquí”, “pincha aquí”, “pulse aquí”, “haz click aquí”, “haz clic aquí”, “…”

- Se verifica que no haya enlaces con “href” sin contenido textual en su interior, bien en forma de texto o como alternativas textuales.

- Se verifica si un enlace tiene más de 250 caracteres, salvo en los casos en que el enlace comience con textos de Ley. Bien las palabras:

Constitución, Convención, Decreto, Decreto Foral, Decreto Foral Legislativo, Decreto Legislativo, Decreto-ley, Directiva, Enmienda, Estatuto, Instrumento de Aceptación, Instrumento de Adhesión, Instrumento de Aprobación, Instrumento de Ratificación, Ley, Ley Foral, Ley Orgánica, Nota Diplomática, Orden Foral, Posición Común, Real Decreto, Real Decreto Legislativo, Real Decreto-ley, Resolución-Circular.

Bien los acrónimos: RD, R.D., R.D, RD-L (78)

- Se verifica que la alternativa textual de las imágenes incluidas dentro de enlaces no es igual al resto del contenido textual del enlace

a. La página no tiene enlaces

b. La página tiene enlaces y todos son correctos

c. La página tiene enlaces y alguno no es correcto

a. No puntúa

b. 1

c. 0

a. Pasa

b. Pasa

c. Falla

2.1.6.- Cambios de contexto

Se entiende por cambio de contexto una nueva página, ventana, pestaña o aplicación, o cambio de foco (window.location, window.history, window.open, window.focus, etc.).

- Se verifica que no se produzca ningún cambio de contexto en los eventos “onfocus” u “onblur”.

- Se verifica que no se produzca ningún cambio de contexto nada más cargarse la página (onload).

- Se verifica que no se produzca ningún cambio de contexto en el evento “onchange” de los elementos “select”

a. Las validaciones son correctas

b. Alguna de las validaciones es incorrecta

a. 1

b. 0

a. Pasa

b. Falla

2.1.7.- Compatibilidad

- Se verifica que el documento tenga un DTD válido.

- Se verifica que el código HTML sea parseable (apertura y cierre de etiquetas y anidamiento correcto de elementos).

- Se verifica que no se repite el mismo atributo con diferente valor en el mismo elemento.

- Se verifica que los valores de los atributos están entrecomillados.

- Se verifica que el valor de los atributos que deben tener un valor único por página (“id”, “accesskey”) efectivamente tienen un valor único.

- Se verifica que el código CSS es parseable (bien formado, sin errores de sintaxis)

a. El documento tiene un DTD válido y tanto el código HTML como el CSS es procesable (parseable)

b. El documento carece de un DTD válido, tiene errores que afectan a su correcto procesamiento (parseo) o bien las hojas de estilo no son sintácticamente correctas

a. 1

b. 0

a. Pasa

b. Falla

Adecuación Prioridad 2 |  |  |
2.2.1.- Múltiples vías de navegación | - Se verifica que se proporciona un mapa del sitio o una función de búsqueda dentro del sitio web. | a. En el documento hay un enlace al mapa web o una función de búsqueda b. El documento carece tanto de un enlace a un mapa web como de una función de búsqueda | a. 1 b. 0 | a. Pasa b. Falla

2.2.2.- Foco del teclado

- Se verifica que en las hojas de estilo no se emplee la propiedad “outline” con valor “0” o “none” en elementos de interacción.

- Se verifica que no se esté abusando del atributo “tabindex” para modificar el orden de tabulación por defecto

a. No se emplean estilos que eliminen el indicador visual del foco del teclado y no se abusa del atributo tabindex (hasta 3) para modificar el orden de tabulación

b. No se emplean estilos que eliminen el indicador del foco del teclado y se emplean entre 4 y 10 atributos tabindex

c. Se emplean estilos para eliminar el indicador visual del foco del teclado o bien se emplean más de 10 atributos tabindex para modificar el orden de tabulación por defecto

a. 1

b. 0

c. 0

a. Pasa

b. Pasa

c. Falla

2.2.3.- Navegación consistente

- Se verifica que los enlaces no estén rotos (código 404 devuelto por el servidor).

- Se verifica que no haya dos enlaces adyacentes que apunten al mismo destino. Los enlaces adyacentes son aquellos que están separados como máximo por un carácter y/o un conjunto de espacios en blanco. En el momento que haya una etiqueta entre ambos enlaces no se consideran adyacentes.

a. No hay enlaces

b. La navegación es correcta (todas las verificaciones son adecuadas)

c. La navegación es correcta aunque en la página hay como mucho 1 enlace roto dentro del dominio o hasta 2 enlaces externos rotos

d. La navegación es inconsistente

a. No Puntúa

b. 1

c. 0

d. 0

a. Pasa

b. Pasa

c. Pasa

d. Falla

3.3. CORRESPONDENCIA CON WCAG 2.0

Como se ha comentado anteriormente, las verificaciones realizadas en el observatorio son un extracto representativo de los aspectos más relevantes de la accesibilidad que debe cumplir un sitio web, por lo que están directamente relacionadas con los requisitos de las WCAG 2.0 del W3C y por lo tanto con la Norma UNE 139803:2012 que aplica los mismos requisitos.

Se muestra a continuación de forma esquemática la relación existente entre las verificaciones del observatorio y los requisitos de accesibilidad de las WCAG 2.0.

Relación entre las verificaciones del Observatorio y las WCAG 2.0

 Verificación del Observatorio |  Criterio de Conformidad WCAG 2.0
1.1.1 Existencia de alternativas textuales | WCAG 1.1.1
1.1.2 Uso de encabezados | WCAG 1.3.1
1.1.3 Uso de listas | WCAG 1.3.1
1.1.4 Tablas de datos | WCAG 1.3.1
1.1.5 Agrupación estructural | WCAG 1.3.1
1.1.6 Separación de contenido y presentación | WCAG 1.3.1
1.1.7 Identificación del idioma principal | WCAG 3.1.1
1.2.1 Identificación de los cambios de idioma | WCAG 3.1.2
1.2.2 Contraste suficiente | WCAG 1.4.3
1.2.3 Sección de accesibilidad | -
2.1.1 Navegación con javascript accesible | WCAG 2.1.1 WCAG 4.1.2
2.1.2 Control de usuario | WCAG 2.2.1 WCAG 2.2.1 WCAG 2.3.1
2.1.3 Formularios | WCAG 1.3.1 WCAG 3.3.2 WCAG 4.1.2
2.1.4 Título de página y de marcos | WCAG 2.4.1 WCAG 2.4.2 WCAG 4.1.2
2.1.5 Enlaces descriptivos | WCAG 2.4.4
2.1.6 Cambios de contexto | WCAG 3.2.1 WCAG 3.2.2
2.1.7 Compatibilidad | WCAG 4.1.1
2.2.1 Múltiples vías de navegación | WCAG 2.4.5
2.2.2 Foco del teclado | WCAG 2.4.3 WCAG 2.4.7
2.2.3 Navegación consistente | WCAG 3.2.3

4. METODOLOGÍA DETALLADA

4.1. REQUISITO 1.1.1.- EXISTENCIA DE ALTERNATIVAS TEXTUALES

Este punto trata de comprobar que aquellos elementos puramente visuales posean una alternativa textual válida. Si todos ellos cumplen con esta condición, al punto se le asigna el valor 1 y la modalidad pasa, si algún elemento no la cumple, se le asigna el valor 0 y la modalidad falla, y este punto no se tiene en cuenta en caso de que no haya elementos que requieran de esta alternativa textual.

4.1.1. Comprobación de marcado correcto para imagen decorativa transparente para los lectores de pantalla

ANALIZADOR ID: XXX. Se comprueba el marcado de una imagen para verificar si se está marcando correctamente como imagen decorativa de forma que sea transparente para los lectores de pantalla. Para ello, la imagen debe tener atributo alt vacío y en caso de tener atributo role éste debe tener valor presentation; si no tiene atributo alt entonces debe tener necesariamente un atributo role con valor presentation; y, en cualquier caso, no debe tener un título (atributo title ausente o vacío).

Si tiene título no vacío No Transparente

Sino

                  Si tiene atributo alt

                           Si alt está vacío

                                    Si tiene atributo role

                                             Si role tiene valor presentation Sí Transparente

                                             Sino No Transparente

                                    Sino Sí Transparente

                           Sino No Transparente

                  Sino

                           Si tiene atributo role con valor presentation Sí Transparente

                           Sino No Transparente

Esta verificación no es un error por sí misma, solo se usará como prerrequisito de otras verificaciones sobre imágenes decorativas.

4.1.2. Se verifica que todos los elementos AREA empleen el atributo alt

ANALIZADOR ID: 64. Se buscan todos los elementos AREA del documento HTML, verificando que todos ellos posean el atributo alt.

4.1.3. Se verifica que si un elemento AREA tiene el atributo href, también posea el atributo alt no vacío.

ANALIZADOR ID: 157. Se buscan todos los elementos AREA del documento HTML, verificando que todos aquellos que posean el atributo href, utilicen también el atributo alt y éste no esté vacío.

4.1.4. Se verifica que si hay algún INPUT de tipo imagen tenga un texto alternativo no vacío.

ANALIZADOR ID: 306. Se buscan aquellos elementos INPUT, cuyo atributo type sea igual a image, y se verifica que todos ellos utilicen el atributo alt y que éste no esté vacío.

4.1.5. Se verifica que todos los elementos APPLET tengan un atributo alt y un contenido textual en el contenido del elemento APPLET

ANALIZADOR ID: XXX. Se verifica que los elementos APPLET tengan alternativa textual, tanto un atributo alt con contenido como un contenido textual dentro de las etiquetas de apertura y de cierre del elemento APPLET (en forma de texto directamente o como alternativa textual de contenido no textual).

4.1.6. Se verifica que los elementos imagen no tengan como alternativa el nombre de un fichero o un texto de relleno

ANALIZADOR ID: 100. Se buscan aquellas imágenes en el documento cuyo texto alternativo siga el patrón: *.jpg, *.jpeg, *.gif, *.png, *.bmp.; sea considerado un texto de relleno (*); o siga patrones similares en la misma página como “Pic1”, “Pic2”, “0001”, “0002”.

(*) A continuación se indican las cadenas que se consideran textos de relleno (en las diferentes versiones idiomáticas) y por tanto no son válidos:

•Es: imagen, dibujo, pintura, cuadro, figura, ilustración, foto, fotografía, instantánea, retrato, captura, captura de pantalla, gráfico, gráfica, esquema, diagrama, miniatura, separador, espaciador, espacio, decorativa, ornamental, imagen decorativa, texto alternativo, descripción, descripción de la imagen.

•En: Image, drawing, picture, painting, figure, illustration, photo, snapshot, snap, shot, shooting, photograph, photography, portrait, screenshot, graphic, graph, chart, diagram, scheme, diagram, thumb, thumbnail, separator, spacer, space, decorative, ornamental, decorative image, alternative text, description, image description.

•Fr: image, dessin, peinture, figure, illustration, photo, instantané, photo instantané, photographie, portrait, capture d’écran, graphique, schème, diagramme, miniature, vignettes, séparateur, entretoise, espace, décoratif, dècoration, ornemental, image décorative, texte alternatif, description, image description.

•Ca: imatge, dibuix, pintura, quadre, figura, il-lustració, foto, fotografía, instantània, retrat, captura, captura de pantalla, gràfic, gràfica, esquema, diagrama, miniatura, separador, espaiador, espai, decorativa, ornamental, imatge decorativa, text alternatiu, descripció, descripció de la imatge.

•Gl: imaxe, debuxo, deseño, pintura, cadro, táboa, figura, ilustración, foto, fotografía, instantánea, retrato, captura, captura de pantalla, gráfico, gráfica, esquema, diagrama, miniatura, separador, espazador, espazos, espazo, decorativa, ornamental, imaxe decorativa, texto alternativo, descrición, descrición da imaxe.

•Eu: irudia, marrazkia, pintura, koadroa, ilustrazioa, argazki, argazkilaritza, argazkigintza, argazkia, erretratua, harrapaketa, kaptura, pantaila-kaptura, pantaila-tiroa, grafikoa, eskema, diagrama, miniatura, bereizlea, espazioa, apaingarria, irudi apaingarria, ordezko testua, deskribapena, irudiko deskribapena.

4.1.7. Se verifica que las imágenes sin alt están correctamente marcadas como imágenes decorativas transparentes para los lectores de pantalla

ANALIZADOR ID: XXX. Como norma general se comprueba que todas las imágenes tengan atributo alt. En aquellas imágenes sin atributo alt se verifica que estén marcadas como imágenes decorativas de forma que sean transparentes para los lectores de pantalla. Es decir, se comprueba que no tengan atributo title o bien esté vacío y que tengan un atributo role con valor “presentation”.

4.1.8. Se verifica que las imágenes con alt vacío están correctamente marcadas como imágenes decorativas transparentes para los lectores de pantalla

ANALIZADOR ID: XXX. Se comprueba que aquellas imágenes con texto alternativo vacío, en principio marcadas como decorativas, están marcadas de forma que efectivamente sean transparentes para los lectores de pantalla. Es decir, que no tengan atributo title o bien esté vacío y que, en caso de tener asignado un atributo role, éste tenga el valor “presentation”.

4.1.9. Se verifica que las imágenes con alt no vacío no tengan un atributo role que las marque como decorativas

ANALIZADOR ID: XXX. Se comprueba que aquellas imágenes con texto alternativo no vacío, en principio marcadas como de contenido, no tengan un marcado adicional que las haga transparentes para los lectores de pantalla. Es decir, que no tengan un atributo role con valor “presentation”.

4.1.10. Se verifica que las imágenes pequeñas que no pueden aportar información visual se declaran como decorativas y son transparentes para los lectores de pantalla

ANALIZADOR ID: XXX. Se comprueba que las imágenes con un alto y/o ancho igual o inferior a 2px están marcadas como imágenes decorativas transparentes para los lectores de pantalla, considerando que las imágenes de tales dimensiones no pueden transmitir información y se emplean eminentemente con fines presentacionales.

Para que una imagen sea transparente para los lectores de pantalla debe tener un texto alternativo vacío, carecer de atributo title (o estar vacío) y carecer de atributo role o bien ser “presentation”. Si no tiene atributo alt entonces debe tener un atributo role=”presentación” y carecer de título.

4.1.11. Se verifica que el valor de los atributos longdesc es correcto

ANALIZADOR ID: XXX. Se comprueba que en todas las imágenes en las que se define el atributo longdesc el valor de éste es una URL válida y enlaza efectivamente con una página existente (al hacer la petición el servidor devuelve un código de estado 200 OK).

El valor del atributo longdesc debe ser una URL válida no vacía, rodeada potencialmente por espacios (*). La URL es un enlace a la descripción de la imagen correspondiente al elemento IMG para el que se define el atributo longdesc.

(*) http://www.w3.org/TR/html401/struct/objects.html#adef-longdesc-IMG, http://www.w3.org/TR/html-longdesc/#longdesc

4.2. REQUISITO 1.1.2.- USO DE ENCABEZADOS

Este punto trata de verificar que el documento utilice una estructura correcta de encabezados, asignándole el valor 1 y la modalidad pasa si es así, el valor 0 y la modalidad pasa si se considera que el documento no contiene suficientes encabezados o no existe un H1, o el valor 0 y la modalidad falla si dicha estructura es incorrecta.

4.2.1. Se verifica que el documento no carezca de encabezados.

ANALIZADOR ID: 38. Se comprueba que el documento utilice las etiquetas de encabezado H1, H2, H3, H4, H5 o H6.

4.2.2. Se verifica la presencia de un encabezado de primer nivel, en cualquier posición

ANALIZADOR ID: XXX. Se comprueba que en el documento se utilice algún encabezado de primer nivel H1.

4.2.3. Se verifica que no hay encabezados vacíos

ANALIZADOR ID: 395. Se detectan los encabezados de la página (elementos H1, H2, H3, H4, H5 y H6) y se comprueba que contengan un texto no vacío.

4.2.4. Se verifica que no haya dos encabezados del mismo nivel (o superior) sin contenido entre ellos

ANALIZADOR ID: XXX. Se comprueba que exista contenido textual entre un encabezado y el siguiente encabezado cuando este último es del mismo nivel o de un nivel superior que el encabezado anterior. Por ejemplo, que exista contenido entre secuencias de encabezado del tipo (H2, H2) o (H2, H1)

4.2.5. Se verifica que no se saltan niveles de encabezado.

ANALIZADOR ID: XXX. Se comprueba que, a partir del primer encabezado del documento, e independientemente de cuál sea ese nivel, no se producen saltos en los niveles de los encabezados sucesivos.

4.2.6. Se verifica que se utilice una estructura de encabezados adecuada para estructurar el contenido.

ANALIZADOR ID: 62. Se verifica que la página no tenga un único encabezado y 15 ó más párrafos de texto marcados con el elemento P, y con al menos 80 caracteres. Si esta verificación se incumple, generaría un valor 0 con modalidad pasa.

4.3. REQUISITO 1.1.3.- USO DE LISTAS

En este punto se intenta verificar que si un documento HTML utiliza listas para presentar información, éstas se utilicen de forma correcta, y realmente la información requiera el uso de las mismas, y no se trate solo de un método para controlar la visualización del contenido. Así, si las listas se emplean correctamente, a este punto se le asignará un valor 1 con modalidad pasa; si no es así, se le asignará el valor 0 con modalidad falla. Por último si la página no utiliza listas a este punto no se le asignará ningún valor.

4.3.1. Se verifica que cada elemento LI sea hijo de UL u OL.

ANALIZADOR ID: 311. Se comprueba que si hay un elemento LI, su padre directo sea un elemento UL u OL.

4.3.2. Se verifica que las listas de definición tengan una estructura correcta.

ANALIZADOR ID: 312. Se comprueba que las listas de definición sigan una estructura correcta, es decir, que cada elemento DL contenga directamente al menos un elemento DT y al menos un elemento DD, que el primer elemento sea un DT y el último un DD.

4.3.3. Se verifica que cada elemento DT sea hijo de DL.

ANALIZADOR ID: 313. Se comprueba que si hay un elemento DT, su padre directo sea un elemento DL.

4.3.4. Se verifica que cada elemento DD sea hijo de DL.

ANALIZADOR ID: 314. Se comprueba que si hay un elemento DD, su padre directo sea un elemento DL.

4.3.5. Se verifica que no haya ningún tipo de lista directamente anidada bajo otra lista ordenada, sin ser elemento de ella.

ANALIZADOR ID: 317. Se comprueba que el anidamiento de listas sea correcto, de forma que no se añada una lista como hija directa de un elemento OL.

4.3.6. Se verifica que no haya ningún tipo de lista directamente anidada bajo otra lista sin orden, sin ser elemento de ella.

ANALIZADOR ID: 318. Se comprueba que el anidamiento de listas sea correcto, de forma que no se añada una lista como hija directa de un elemento UL.

4.3.7. Se verifica que todos los hijos de una lista ordenada sean LI.

ANALIZADOR ID: 319. Se comprueba que todos los hijos directos de un elemento OL sean LI.

4.3.8. Se verifica que todos los hijos de una lista sin orden sean LI.

ANALIZADOR ID: 320. Se comprueba que todos los hijos directos de un elemento UL sean LI.

4.3.9. Se verifica que no se utilizan párrafos para simular listas no numeradas.

ANALIZADOR ID: 120. Se verifica que no haya 3 ó más elementos P seguidos que empiecen por “-“ o “- “ o “*”, considerando que, de hacerlo, se está intentando simular una enumeración de elementos de forma incorrecta.

4.3.10. Se verifica que no haya 3 ó más líneas separadas por BR que empiecen por “-“ o “- “ o “*”.

ANALIZADOR ID: 121. Se verifica que no haya 3 ó más elementos BR seguidos que empiecen por “-“ o “- “ o “*”, considerando que, de hacerlo, se está intentando simular una enumeración de elementos de forma incorrecta.

4.3.11. Se verifica que no se utilizan párrafos para simular listas numeradas.

ANALIZADOR ID: 101. Se verifica que no haya 3 ó más elementos P seguidos que empiecen por los patrones “x“, “x “, “x.“, “xº”, “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras o números romanos, considerando que, de hacerlo, se está intentando simular una enumeración de elementos de forma incorrecta.

4.3.12. Se verifica que no haya 3 ó más líneas separadas por BR que empiecen por patrones de letras o números consecutivos

ANALIZADOR ID: 150. Se verifica que no haya 3 ó más elementos BR seguidos que empiecen por los patrones “x“, “x “, “x.“, “xº”, “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras o números romanos, considerando que, de hacerlo, se está intentando simular una enumeración de elementos de forma incorrecta.

4.3.13. Se verifica que no haya 3 o más elementos de lista desordenada que empiecen por patrones de letras o números consecutivos

ANALIZADOR ID: XXX. Se verifica que no haya 3 o más elementos LI de lista desordenada UL que empiecen por los patrones “x“, “x “, “x.“, “xº”, “xª”, ”x)”, “x-”, “x.-” donde ‘x’ pertenezca a una secuencia de números, letras o números romanos, considerando que, de hacerlo, se está intentando simular una lista ordenada.

4.3.14. Se verifica que no haya 3 o más párrafos seguidos que comiencen por una imagen usada como viñeta de lista

ANALIZADOR ID: XXX. Se verifica que no haya 3 o más párrafos seguidos que empiecen por una imagen cuyas dimensiones sean iguales o inferiores a 10x10 píxeles, considerando que, de hacerlo, dichas imágenes se están empleando como viñetas para simular listas.

4.3.15. Se verifica que no haya 3 o más líneas separadas por br que comiencen por una imagen usada como viñeta de lista

ANALIZADOR ID: XXX. Se verifica que no haya 3 o más líneas separadas por BR que empiecen por una imagen cuyas dimensiones sean iguales o inferiores a 10x10 píxeles, considerando que, de hacerlo, dichas imágenes se están empleando como viñetas para simular listas.

4.3.16. Se verifica que no haya tablas de maquetación de una única columna para simular listas

ANALIZADOR ID: XXX. Se verifica que no haya tablas formadas por una única columna y 3 o más filas en la que el contenido textual de cada celda no supere los 150 caracteres, considerando que, de hacerlo, dicha tabla se está empleando como una tabla de maquetación para simular un listado de elementos relacionados entre sí.

4.3.17. Se verifica que no haya listas vacías, sin ningún elemento de lista

ANALIZADOR ID: XXX. Se verifica que no haya elementos de lista desordenada UL u ordenada OL sin ningún elemento de lista LI hijo.

4.4. REQUISITO 1.1.4.- TABLAS DE DATOS CON ENCABEZADOS

En este punto se trata de verificar que los encabezamientos, las asociaciones con las celdas de datos y la información de resumen de las tablas de datos se utilicen de forma correcta, para transmitir la información de forma bien estructurada, asignándole el valor 1 y la modalidad pasa si es así; el valor 0 y la modalidad falla en caso de que no se haga de forma correcta; y este punto no se tendrá en cuenta en caso de que no existan tablas de datos en el documento.

4.4.1. Comprobación de que es una tabla de datos.

ANALIZADOR ID: 7. Se verifica que la tabla es efectivamente de datos, con el siguiente algoritmo:

•No contiene a ninguna otra tabla.

•No contiene ninguna celda con más de 150 caracteres mostrados por pantalla.

•No se trata de una tabla con una sola celda.

•No se trata de una tabla con una sola fila.

•No se trata de una tabla con una sola columna.

•Al menos el 70% de las celdas de la tabla contienen texto.

Una vez que se comprueba que la tabla es de datos, se aplican sobre ella el resto de verificaciones de tablas de datos, descartando el resto de tablas (por considerarlas de maquetación).]

Se considera que una celda está marcada como celda de encabezado si se trata de un TH, un TD con atributo scope o una celda con los atributos de WAI-ARIA rowheader o columnheader. Esta condición es la que se aplica en las verificaciones para determinar las celdas de encabezado.

4.4.2. Se verifica que haya algún elemento de encabezado de tabla

ANALIZADOR ID: 86. Se verifica que toda tabla de datos contenga al menos una celda de encabezado en las filas o columnas exteriores, fallando en caso contrario.

4.4.3. Se verifica que los encabezados se marcan correctamente en tablas de datos simples

ANALIZADOR ID: 116. La tabla de datos debe tener encabezados (todos los elementos son encabezados) en la primera fila o en la primera columna salvo para elementos con texto vacío. Es decir, falla si no hay ningún encabezado en la primera fila ni en la primera columna o si hay al menos una celda de encabezado y al menos una de datos con texto.

Pseudocódigo (se ignora el primer elemento de la tabla):

- Analizar la primera fila

- MOD: Si hay algún elemento de encabezado con texto

entonces todos los elementos con texto deben ser encabezados

- SiNo se analiza la primera columna

- MOD: Si hay algún elemento de encabezado con texto

entonces todos los elementos con texto deben ser encabezados

4.4.4. Se verifica que los encabezados se marcan correctamente en tablas de datos complejas (varios niveles de encabezamiento).

ANALIZADOR ID: 245. Se verifica si hay una tabla con más de un nivel de encabezados (es decir, si hay elementos TH en dos filas o en dos columnas) y existen atributos id en los elementos TH y headers en los elementos TD. Asimismo, en aquellas tablas con la celda superior izquierda vacía (de tipo TD) se verifica si la tabla tiene la primera celda vacía (TD) y el resto de celdas con texto marcadas como encabezado (TH), entonces se comprobará que todas las celdas de la primera columna (que tengan texto) sean encabezados, en caso contrario falla. Esta regla también es aplicable a la inversa, es decir, si la celda arriba a la izquierda es vacía, y la primera columna son encabezados, entonces la primera fila también deben ser encabezados.

4.4.5. Se verifica que el valor de los atributos scope sea válido

ANALIZADOR ID: XXX. Se comprueba que el valor de los atributos scope sea un valor correcto. Es decir, debe ser alguno de los siguientes valores: “row”, “col”, “rowgroup” o “colgroup”.

4.4.6. Se verifica que el valor de los atributos headers y axis se corresponda con identificadores usados en encabezados de la misma tabla

ANALIZADOR ID: XXX. Se comprueba que las asociaciones definidas mediante los atributos headers y axis son asociaciones válidas. Es decir, el valor de estos atributos se debe corresponder con identificadores id usados en celdas de encabezado de la misma tabla.

4.4.7. Se verifica que no se simula el título de la tabla mediante una celda de encabezado que ocupa todo el ancho de la tabla

ANALIZADOR ID: 156. Si la primera fila de una tabla tiene una única celda que ocupa todo el ancho de la tabla, se considerará que se está simulando de forma incorrecta el comportamiento del elemento CAPTION, por lo que se considerará erróneo.

4.4.8. Se verifica que no se simulan títulos de tabla mediante encabezados de página

ANALIZADOR ID: XXX. Se comprueba que no existan tablas sin título, sin elemento <CAPTION>, que sean el único contenido de la sección correspondiente a un encabezado de tabla, considerando que dicho encabezado es en realidad el título de la tabla y ha de marcarse como tal.

4.4.9. Se verifica que las tablas de complejidad superior disponen de información de resumen en el atributo summary

ANALIZADOR ID: XXX. Se comprueba que las tablas de complejidad superior tienen un atributo summary no vacío, con contenido. Se considera que una tabla es compleja si tiene encabezados tanto de fila como de columna y además tiene dos o más filas o columnas de encabezados.

4.4.10. Se verifica que el título y el resumen de las tablas de datos no están duplicado

ANALIZADOR ID: XXX. Se comprueba que en caso de existir tanto un título de tabla, elemento <CAPTION>, como información de resumen en el atributo summary, el contenido de ambos no está duplicado. El summary debe proporcionar información adicional y si repite el título entonces se está usando de forma incorrecta.

4.5. REQUISITO 1.1.5.- AGRUPACIÓN ESTRUCTURAL

En este punto se trata de comprobar que se utilice el marcado HTML correcto para dividir la información del documento, asignándole el valor 1 con modalidad pasa si es así; y el valor 0 con modalidad falla si la información no se divide de forma correcta a través del marcado HTML correspondiente.

4.5.1. Se verifica que no se estén simulando párrafos mediante el elemento BR.

ANALIZADOR ID: 16. Se comprueba que no hay elementos P con más de 150 caracteres de texto (obviando el marcado de las etiquetas en línea) que contengan secuencias de 2 ó más BR seguidos, ignorando aquellas secuencias de BR que estén al principio y final del párrafo.

Etiquetas en línea: A, ABBR, ACRONYM, B, BIG, CODE, CITE, DFN, EM, FONT, IMG, INS, LABEL, Q, S, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, U.

4.5.2. Se verifica que no se estén simulando párrafos mediante el elemento DIV.

ANALIZADOR ID: 33. Comprueba que no haya ningún elemento DIV cuyo contenido directo sea un texto de más de 150 caracteres, obviando las etiquetas en línea: A, ABBR, ACRONYM, B, BIG, CODE, CITE, DFN, EM, FONT, IMG, INS, LABEL, Q, S, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, U.

4.5.3. Se verifica que no se estén empleando más de 10 elementos BR en la página.

ANALIZADOR ID: XXX. Se verifica que no se estén empleando más de 10 elementos BR en la página, considerando que un abuso del elemento BR implica que se están empleando saltos de línea para simular párrafos.

4.6. REQUISITO 1.1.6.- SEPARACIÓN DE CONTENIDO Y PRESENTACIÓN

En este punto se intenta verificar que en un documento HTML se independicen completamente los contenidos que ofrece de la presentación de los mismos, para garantizar la uniformidad visual entre diferentes documentos de contenido similar y la unicidad del contenido, independientemente de la visualización aplicada. De esta forma, se otorgará un valor 1 con modalidad pasa si se considera que se separan correctamente, y un valor 0 con modalidad falla si no es así.

4.6.1. Comprobación de qué es una tabla de maquetación

ANALIZADOR ID: 81. Se verifica que la tabla es efectivamente de maquetación, con el siguiente algoritmo:

•Contiene a otra tabla o

•Tienen el atributo role=”presentation”

•Contiene alguna celda con más de 150 caracteres mostrados por pantalla.

•Se trata de una tabla con una sola celda.

•Se trata de una tabla con una sola fila.

•Se trata de una tabla con una sola columna.

•Menos del 70% de las celdas de la tabla contienen texto.

Esta verificación no es un error por sí misma, solo se usará como prerrequisito de otras verificaciones sobre tablas de maquetación.

4.6.2. Se verifica que no haya tablas de maquetación que empleen elementos o atributos propios de tablas de datos

ANALIZADOR ID: 88. Se comprueba que una tabla utilizada para maquetar no emplee elementos CAPTION, TH, THEAD, TBODY, TFOOT o los atributos summary, title, scope, headers o axis.

4.6.3. Se verifica que no se empleen elementos desaconsejados con carácter presentacional

ANALIZADOR ID: XXX. Se comprueba que no se estén empleando elementos que tengan carácter presentacional y que además estén desaconsejados (deprecated). Estos elementos son FONT, BASEFONT, CENTER, S, STRIKE y U.

4.6.4. Se verifica que no se incluya contenido que transmita información desde las hojas de estilo con los pseudoelementos :before o :after.

ANALIZADOR ID: XXX. Se comprueba que no se esté incluyendo contenido desde las hojas de estilo con los pseudoelementos :before o :after y la propiedad content cuyo valor sea un texto de más de un carácter alfanumérico, considerando que si se hace dicho texto está transmitiendo información que no está en el contenido de la página.

4.7. REQUISITO 1.1.7.- IDENTIFICACIÓN DEL IDIOMA PRINCIPAL

En este punto se comprueba que un documento especifique correctamente el idioma principal, asignando el valor 1 con modalidad pasa si es así; o el valor 0 con modalidad falla si no se especifica o se hace de forma incorrecta. Para verificar este punto se utiliza la lista de lenguajes que proporciona la Agencia de Asignación de Números de Internet (IANA).

4.7.1. Se verifica que el documento especifique un idioma de forma correcta a través del atributo lang

ANALIZADOR ID: 164. Se verifica que el documento identifique su idioma principal a través del atributo lang del elemento HTML. Además se comprueba que dicho lenguaje sea válido según la lista proporcionada por IANA.

4.7.2. Se verifica que el idioma de la página coincide con el identificado

ANALIZADOR ID: XXX. Se comprueba que el idioma que se especifica en el atributo lang o xml:lang del elemento HTML efectivamente coincide con el idioma principal usado en el texto del documento.

La identificación del idioma de una página se realiza mediante la técnica de detección de trigrams (n-gramas de tres caracteres). Un n-grama es una secuencia de caracteres de longitud n que representa las principales combinaciones de letras que se producen para un determinado idioma con un valor que identifica la frecuencia o probabilidad de aparición en dicho idioma. A partir del texto de una página, que no esté marcado con un idioma diferente al de la página, se comprueba contra los trigrams de cada uno de los lenguajes y mediante uso estadístico se obtiene que idioma es más probable. Este algoritmo obtiene resultados acertados a partir de textos de al menos 15 palabras, siendo poco precisas las detecciones de textos de menor longitud. Este método, o variación, es ampliamente utilizado por diversas herramientas para la detección del idioma de un texto y detecta más de 60 idiomas diferentes (incluidas las diferentes lenguas co-oficiales del territorio español).

4.8. REQUISITO 1.2.1.- IDENTIFICACIÓN DE LOS CAMBIOS DE IDIOMA

En este punto se comprueba que un documento especifique correctamente los cambios de idioma que se producen en el contenido, asignando el valor 1 con modalidad pasa si es así; o el valor 0 con modalidad falla si no se especifican los cambios de idioma más habituales o si se hace de forma incorrecta. Para verificar este punto se utiliza la lista de lenguajes que proporciona la Agencia de Asignación de Números de Internet (IANA).

4.8.1. Se verifica que todos los idiomas especificados por los elementos sean válidos.

ANALIZADOR ID: 161. Se comprueba que el código de lenguaje que especifica un elemento sea válido según la lista que proporciona IANA.

4.8.2. Se verifica que los cambios de idioma más habituales encontrados en un documento se marquen adecuadamente.

ANALIZADOR ID: 93. Se buscan los enlaces con cambios de idioma más frecuentes (textos “bienvenido”, “welcome”, “castellano”, “english”…) y se comprueba que utilicen el atributo lang con el idioma correspondiente.

4.8.3. Se verifica que los textos en inglés encontrados en un documento se marquen adecuadamente

ANALIZADOR ID: XXX. Se buscan los textos que están en inglés y se comprueba que se esté utilizando el atributo lang con la identificación de dicho idioma. Se busca en el texto del documento, alternativas textuales y títulos. Para la identificación de textos en inglés se busca la ocurrencia de las palabras más usadas del inglés que no existen en las lenguas cooficiales de España.

A continuación se indica el listado de palabras usadas para la identificación del idioma inglés:

The | Have | Did | She | What | Make | Good | Its | First | Day
Am | Had | Doing | Or | Up | Like | Some | Over | Well | Most
Is | Having | At | An | Out | Just | Could | Think | Way | Us
Was | It | This | Will | If | Him | Them | Also | Even |
Were | For | But | My | About | Know | See | Back | New |
Being | Not | By | One | Who | Take | Other | After | Want |
Been | On | From | All | Get | People | Than | Two | Because |
Of | With | They | Would | Which | Into | Then | How | Any |
And | You | We | There | Go | Year | Now | Our | These |
That | Does | Say | Their | When | Your | Only | Work | Give |

Este listado se ha obtenido a partir de las cien palabras más usadas en inglés según estudios del Oxford English Dictionary y de las diferentes formas conjugadas de los verbos más usados de esa lista (“be”, “have”, “do”). Se estima que estas palabras suponen casi la mitad del material escrito en inglés. De dicha lista se han eliminado aquellas palabras que existen en castellano u otras lenguas cooficiales para evitar generar falsos positivos (“I”, “he”, “has”, “as”, “do”, “so”, “me” “can”, “look”, “come”, “use”, etc.).

4.9. REQUISITO 1.2.2.- CONTRASTE SUFICIENTE

En este punto de verifica que el color del primer plano y el color de fondo de los elementos tengan un contraste suficiente según el nuevo algoritmo de luminosidad de las WCAG 2.0. Si todos los elementos evaluables cumplen se le asigna el valor 1 y la modalidad pasa, si alguno no cumple se le asigna el valor 0 y la modalidad falla.

4.9.1. Se verifica que las combinaciones de color de primer plano y de color de fondo en una misma regla de las hojas de estilo tienen el contraste suficiente

ANALIZADOR ID: XXX. Se comprueba que las combinaciones de color de primer plano (color) y de color de fondo (background-color o background) en una misma regla de las hojas de estilo tiene el contraste suficiente. Se tienen en cuenta los diferentes umbrales según el tamaño del texto cuando éste es conocido. En caso contrario, se emplea el umbral más permisivo de 3:1.

4.10. REQUISITO 1.2.3.- SECCIÓN ACCESIBILIDAD

En este punto verificamos que las páginas analizadas dispongan de una sección donde se hable sobre los trabajos que se han llevado a cabo para mejorar la accesibilidad del sitio, asignándole un valor 1 con modalidad pasa si es así, un valor 0 con modalidad pasa si no se indica el nivel de conformidad, la fecha de revisión o un método de contacto, y un valor 0 con modalidad falla en caso contrario.

4.10.1. Enlace a la sección de Accesibilidad

ANALIZADOR ID: 126. Se extraen los enlaces del documento y se verifica que alguno contenga uno de los siguientes textos:

•Accessibility

•Accesibilidad

•Accesibilitat

•Accessibilitat

•Accesibilidade

•Accessibilité

•Eskuragarritasuna

•Erabilerraztasunaren

•Irisgarritasuna

•Erabilerraztasuna

ya sea en su texto o su atributo title.

Comprobación incluida debido a su exigencia legal.

4.10.2. Dirección de contacto

ANALIZADOR ID: 148. Se comprueba si existe una dirección de correo en la página de accesibilidad, o un enlace a una página de contacto.

Se busca en el contenido de la página un texto con formato de dirección de correo electrónico. En caso de que no se encuentre, se busca entre los enlaces de la página uno cuyo texto contenga alguno de éstos:

•Contacto

•Contacte

•Contactar

•Contáctenos

•contacte con nosotros

•Sugerencias

•Le atendemos

•Atendémolo/a

•Contact

•Contact us

•Contacte

•Kontaktua

•Harremanak

•Harremanetan jarri

•Harremanetarako

•Harremanetan jartzeko

4.10.3. Fecha de revisión

ANALIZADOR ID: 149. Se comprueba si existe en la página de accesibilidad, una fecha que identifique la última revisión de accesibilidad realizada al portal.

Se buscan fechas con alguno de los siguientes formatos:

•dd/mm/aaa

•dd de Mes de aaaa

•Mes de aaaa

4.10.4. Nivel de Conformidad

ANALIZADOR ID: XXX. Se comprueba si en la página de accesibilidad se proporciona información sobre el nivel de conformidad.

Se busca en la página la presencia de alguna de las siguientes coincidencias:

•Un texto con el patrón “Nivel .* A”, “Nivel .* AA”, “Nivel .* AAA” (.* por si se incluye algún texto adicional como “Nivel de Accesibilidad AA”, “Nivel de Conformidad AA”, etc.).

•Un texto con los patrones “doble A”, “triple AAA”, “prioridad X” (con x = 1, 2 o 3).

•Iconos de conformidad del W3C identificándolos buscando patrones similares a los anteriores en su texto alternativo o, en caso de ser enlaces, reconociendo las URLs de las páginas de conformidad del W3C.

4.11. REQUISITO 2.1.1.- NAVEGACIÓN CON JAVASCRIPT ACCESIBLE

En este punto se verifica que ninguna página proporcione alguna interacción a través de JavaScript que no sea accesible e independiente de dispositivo. Se buscan elementos en los que se empleen manejadores de eventos de javascript y se verifica que estos eventos sean independientes de dispositivo y que el elemento al que se asignan sea tabulable con teclado. Si todos cumplen se le asigna el valor 1 y la modalidad pasa, si alguno no cumple se le asigna el valor 0 y la modalidad falla, y si no hay elementos a los que le afecte este punto no puntúa (no se emplean manejadores de evento javascript).

4.11.1. Se verifica que no se usen eventos dependientes de dispositivo o que estos estén duplicados

ANALIZADOR ID: 160. Se buscan todos los eventos dependientes de dispositivo que hay en la página, excepto onclick, y en caso de que exista alguno se comprueba que se proporcione a su vez un evento lógico independiente (por ejemplo, onmouseover con onfocus y onmouseout con onblur) o bien uno para otro dispositivo de entrada (por ejemplo, si un elemento contiene el evento onmousedown deberá tener también el evento onkeydown).

4.11.2. Se verifica que los elementos que tienen manejadores de eventos son elementos de interacción estándar o bien emplean los atributos tabindex y role para hacerlos accesibles y compatibles con los lectores de pantalla

ANALIZADOR ID: XXX. Se verifica que los elementos que tienen manejadores de evento onclick u onkeypress son elementos de interacción estándar tabulables con teclado de forma nativa o, en caso contrario, tienen asignado un atributo tabindex y un atributo role con un valor dentro de un subconjunto de valores posibles relativos a widgets.

A continuación se listan los elementos de interacción (enlaces, botones y campos de formulario) tabulables de forma nativa:

•Enlaces:

◦A

•Botones:

◦BUTTON

◦INPUT de tipo “button”, “submit”, “reset” o “image”

•Campos de formulario para introducción de datos

◦INPUT de tipo “text”, “file”, “password”, “radio”, “checkbox”

◦SELECT

◦TEXTAREA

•Nuevos tipos de campos de formulario de HTML5:

◦INPUT de tipo “search”, “email”, “url”, “tel”, “number”, “range”, “date”, “month”, “week”, “time”, “datetime”, “datetime-local”, “color”

A continuación se detallan los valores para el atributo role relativos a widgets:

•Roles para elementos que actúan como widgets independientes del interfaz de usuario o como parte de otros widgets complejos:

alert, alertdialog, button, checkbox, dialog, gridcell, link, log, marquee, menuitem, menuitemcheckbox, menuitemradio, option, progressbar, radio, scrollbar, slider, spinbutton, status, tab, tabpanel, textbox, timer, tooltip, treeitem.

•Roles para elementos que actúan como widgets complejos. Estos roles generalmente se corresponden con contenedores que albergan y gestionan otros widgets internos:

combobox, grid, listbox, menu, menubar, radiogroup, tablist, tree, treegrid.

4.12. REQUISITO 2.1.2.- CONTROL DEL USUARIO

Se verifica que no existan elementos que puedan alterar el contenido de la página de forma independiente a la voluntad del usuario, asignando el valor 1 con modalidad pasa si no se utiliza ninguno de los elementos comprobados en las verificaciones; o el valor 0 con modalidad falla si se detecta algún elemento que no permita el control del usuario.

4.12.1. Se verifica que no se empleen etiquetas que generen movimiento automático del contenido

ANALIZADOR ID: 130. Se verifica que no se empleen las etiquetas BLINK ni MARQUEE.

4.12.2. Se verifica que no se empleen redirecciones de página que no sean transparentes para los usuarios.

ANALIZADOR ID: 71. Se verifica que la página no redirija automáticamente con el elemento META y el atributo http-equiv con un tiempo mayor de 0 segundos.

4.12.3. Se verifica que no se actualiza la página de forma automática con el elemento meta

ANALIZADOR ID: 72. Se comprueba que la página no se actualice de forma automática con el elemento META y el atributo http-equiv.

4.12.4. Se verifica que no se emplee la propiedad de CSS text-decoration: blink

ANALIZADOR ID: XXX. Se comprueba que en la las hojas de estilo no se esté empleando la propiedad text-decoration: blink para hacer que el elemento parpadee.

4.13. REQUISITO 2.1.3.- FORMULARIOS

En este punto se verifica que la asociación de los controles de formulario con sus respectivas etiquetas y la agrupación de controles de formulario se haga de forma correcta, asignándole el valor 1 y la modalidad pasa si es así; el valor 0 y la modalidad pasa si los controles de formulario se usan correctamente pero hay 8 o más y menos de 12 campos de introducción de datos sin agrupar; el valor 0 y la modalidad falla en caso de que no se haga de forma correcta la estructuración o agrupación de los campos de formulario; y este punto no se tendrá en cuenta en caso de que no existan formularios en el documento.

4.13.1. Comprobación de etiqueta asociada

ANALIZADOR ID: XXX. Se considera que un control tiene una etiqueta asociada si se cumple alguna de las siguientes condiciones:

•Dispone de un elemento LABEL no vacío (con texto) que está asociado explícitamente

•Dispone de un atributo aria-labeledby con un valor correspondiente a un id de un elemento con contenido textual

•Dispone de un atributo aria-label no vacío (con texto)

•Dispone de un atributo title no vacío (con texto)

Esta verificación no es un error por sí misma, solo se usará como prerrequisito de otras verificaciones sobre formularios.

4.13.2. Se verifica que todos los controles de formulario de tipo text no ocultos tengan una etiqueta asociada.

ANALIZADOR ID: 57. Se comprueba que dentro de un formulario, a cada campo de formulario para la introducción de datos que posea el atributo id le corresponda una etiqueta LABEL asociada al mismo a través del atributo for o bien dispone de los atributos aria-labeledby, aria-label o title.

Los campos de formulario para la introducción de datos para los que se realiza esta verificación son:

•INPUT de tipo “text”, “file”, “password”, “radio”, “checkbox”

•SELECT

•TEXTAREA

•Y los nuevos tipos de INPUT de HTML5: “search”, “email”, “url”, “tel”, “number”, “range”, “date”, “month”, “week”, “time”, “datetime”, “datetime-local”, “color”

4.13.3. Se verifica que todos los controles de formulario de tipo SELECT tengan una etiqueta asociada.

ANALIZADOR ID: 91. Se comprueba que dentro de un formulario, a cada control de tipo SELECT que posea el atributo id le corresponda una etiqueta LABEL asociada al mismo a través del atributo for o bien dispone de los atributos aria-labeledby, aria-label o title.

4.13.4. Se verifica que todos los controles de formulario de tipo TEXTAREA tengan una etiqueta asociada.

ANALIZADOR ID: 95. Se comprueba que dentro de un formulario, a cada control de tipo TEXTAREA que posea el atributo id le corresponda una etiqueta LABEL asociada al mismo a través del atributo for o bien dispone de los atributos aria-labeledby, aria-label o title.

4.13.5. Se verifica que los atributos for de una etiqueta se corresponden con algún control de formulario

ANALIZADOR ID: 67. Se comprueba que el valor de los atributos for de los elementos LABEL se corresponden efectivamente con un identificador id de algún control de formulario usado en la página.

4.13.6. Se verifica que los elementos LABEL asociados explícitamente, siendo la única etiqueta asociada, no están ocultos con CSS.

ANALIZADOR ID: XXX. Se comprueba que todos los elementos LABEL que están asociados explícitamente y son la única etiqueta asociada a un control (no tiene title, aria-label o aria-labeledby) no están ocultos con CSS (display: none o visibility: hidden).

4.13.7. Se verifica que si hay varios grupos de botones de radio o casillas de verificación en un formulario estén agrupados dentro de un fieldset.

ANALIZADOR ID: XXX. Se comprueba que si hay grupos de tres o más botones de radio o casillas de verificación (con el mismo name) entonces cada uno de ellos se agrupa bajo su correspondiente elemento FIELDSET.

4.13.8. Se verifica que no se empleen elementos de encabezado para agrupar los controles de formulario en lugar de usar el elemento fieldset

ANALIZADOR ID: XXX. Se comprueba que no existan dos o más elementos de encabezado dentro de un elemento FORM, considerando que se están usando estos elementos de encabezado para dividir los controles de formulario en grupos en lugar de usar el elemento FIELDSET.

4.13.9. Se verifica que se empleen elementos fieldset cuando un formulario tiene 8 o más campos de introducción de texto

ANALIZADOR ID: XXX. Se comprueba que existan elementos FIELDSET en aquellos formularios que contengan 8 o más campos de introducción de datos. Si hay 8 o más campos pero menos de 12 sin haber un elemento FIELDSET entonces la comprobación se evalúa a 0 y la modalidad pasa. Si hay 12 o más campos entonces se le asigna el valor 0 y la modalidad falla.

Los campos de formulario para la introducción de datos que se tienen en cuenta en esta verificación son:

•INPUT de tipo “text”, “file”, “password”, “radio”, “checkbox”

•SELECT

•TEXTAREA

•Y los nuevos tipos de INPUT de HTML5: “search”, “email”, “url”, “tel”, “number”, “range”, “date”, “month”, “week”, “time”, “datetime”, “datetime-local”, “color”

4.13.10. Se verifica que todo fieldset tenga su correspondiente etiqueda legend

ANALIZADOR ID: XXX. Se comprueba que todo elemento FIELDSET tenga un único elemento LEGEND con contenido y que este sea el primer elemento semántico hijo (ignorando los DIV).

4.13.11. Se verifica que en los select con más de 20 opciones se empleen elemento optgroup

ANALIZADOR ID: XXX. Se comprueba que no existan elementos SELECT con más de 20 opciones sin que se estén agrupando con algún elemento OPTGROUP.

4.13.12. Se verifica que no existan select con opciones de relleno que simulen agrupaciones en lugar de optgroup

ANALIZADOR ID: XXX. Se comprueba que no existan elementos SELECT con opciones que comiencen por sucesiones de 3 o más caracteres repetidos no alfanuméricos (P. ej: “----”, “----texto”, “___”, “***”, “......”, etc.).

4.13.13. Se verifica que los elementos “optgroup” tienen un atributo “label” con contenido.

ANALIZADOR ID: XXX. Se comprueba que los elementos OPTGROUP disponen de una etiqueta que identifique su contenido en forma de atributo label no vacío (con texto).

4.13.14. Se verifica que en los formularios con más de 4 campos de introducción de texto se identifican los campos obligatorios (presencia del texto “obligatorio”, “opcional” o equivalentes)

ANALIZADOR ID: XXX. Se comprueba que se identifican los campos obligatorios en los formularios con más de 4 campos de introducción de datos. Se busca, en sus diferentes versiones idiomáticas, la presencia de los términos “obligatorio” y “opcional” o términos equivalentes en el texto, alternativas o títulos presentes dentro del elemento contenedor del formulario FORM (elemento padre del formulario y dentro del formulario).

Las cadenas a buscar, en los diferentes idiomas, son las siguientes:

•Es: obligatorio, obligado, exigido, preciso, requerido, necesario, indispensable, imprescindible, imperativo, opcional, voluntario

•En: obligatory, obliged, mandatory, compulsory, requisite, required, requested, necessary, needed, indispensable, essential, imperative, optional, voluntary

•Fr: obligatoire, exigé, précis, requis, nécessaire, indispoensable, essential, impératif, option, bénévoles

•Ca: obligatori, obligat, exigit, requerit, necessari, indispensable, imprescindible, imperatiu, opcional, voluntari

•Gl: obrigatorio, obrigado, esixido, preciso, requirido, necesario, indispensable, imprescindible, imperativo, opcional, voluntario

•Eu: nahitaezkoa, betebeharpekoa, eskatuta, beharrezkoa, errekeritua, ezinbestekoa, agindua, aukerakoa, boluntarioa

Los campos de formulario para la introducción de datos que se tienen en cuenta en esta verificación son:

•INPUT de tipo “text”, “file”, “password”, “radio”, “checkbox”

•SELECT

•TEXTAREA

•Y los nuevos tipos de INPUT de HTML5: “search”, “email”, “url”, “tel”, “number”, “range”, “date”, “month”, “week”, “time”, “datetime”, “datetime-local”, “color”

4.14. REQUISITO 2.1.4.- TÍTULO DE PÁGINA Y MARCOS

Esta verificación comprueba que la página disponga de un título válido que no esté vacío o sea un texto de relleno. También se verifica que una página no utilice marcos para presentar la información, o, en caso de que los utilice, que lo haga de forma correcta proporcionando información acerca de los mismos. Si un documento especifica un título válido y no tiene marcos se le asignará el valor 1 con modalidad pasa; si especifica un título válido pero hay marcos correctos con título se le asignará un valor 0 (por usar marcos) con la modalidad pasa; finalmente, si no se especifica un título correcto o hay marcos que carecen de título se le asignará el valor 0 con modalidad falla.

4.14.1. Se verifica que en el documento haya título

ANALIZADOR ID: 50. Se comprueba que exista el elemento TITLE dentro del elemento HEAD del documento.

4.14.2. Se verifica que el contenido del título sea válido

ANALIZADOR ID: 51 y 53. Se comprueba que el texto del título no sea vacío, ni que se empleen los textos que los editores HTML añaden por defecto: “Título del documento”, “Title”, “Untitled document”…

4.14.3. Se verifica que todos los frames e iframes tengan un título.

ANALIZADOR ID: 31 y 295. Se buscan todos los elementos FRAME o IFRAME del documento y se verifica que posean el atributo title para proporcionar información sobre el contenido del marco.

4.14.4. Se verifica que el texto del atributo title de los FRAME e IFRAME no esté vacío.

ANALIZADOR ID: 31 y 158. Se buscan todos los elementos FRAME o IFRAME del documento y se verifica que no posean el atributo title vacío.

4.14.5. Se verifica que el título no sea idéntico que el resto de títulos de la muestra (para tamaños de muestra >= 10).

ANALIZADOR ID: XXX. En las muestras de 10 o más páginas se comprueba que no sean iguales todos los títulos. Se pueden repetir títulos, pero si en una muestra de 10 son todos iguales entonces la comprobación falla (para todas las páginas de la muestra) considerando que no se está identificando correctamente el contenido de los documentos al repetir el mismo título en todo la muestra.

Si la muestra es menor de 10 páginas esta verificación no es aplicable.

4.15. REQUISITO 2.1.5.- ENLACES DESCRIPTIVOS

En este punto se verifica que se proporcione información acerca de los vínculos de una página hacia otros documentos. Si se hace de forma correcta se le asigna el valor 1 y la modalidad pasa, si algún enlace no es correcto se le asigna el valor 0 y la modalidad falla, y este punto no puntuará en caso de que no haya enlaces en la página.

4.15.1. Se verifica que no haya enlaces con textos poco descriptivos (del tipo “pinche aquí”).

ANALIZADOR ID: 79. Se buscan los enlaces de una página y se verifica que no usen los típicos textos no descriptivos “aquí”, “pinche aquí” “haga click aquí”, “haga clic aquí”, “pincha aquí”, “pulse aquí”, “haz click aquí”, “haz clic aquí”…

4.15.2. Se verifica que no haya enlaces sin contenido textual en su interior

ANALIZADOR ID: 142. Se buscan aquellos enlaces con atributo href sin contenido textual en su interior, bien en forma de texto o como alternativas textuales. Es decir, que tengan contenido vacío debido a que no hay texto entre las etiquetas de apertura y cierre de enlace, haya espacio en blanco, haya imágenes sin alternativa o con alternativa vacía, o una combinación de ellos.

4.15.3. Se verifica que no haya enlaces demasiado largos con más de 250 caracteres (salvo excepciones)

ANALIZADOR ID: 78. Se buscan los enlaces de una página y se comprueba que su texto no supere los 250 caracteres. Debido a que se pueden analizar algunas páginas con contenido de tipo legal en las que el nombre de una ley puede utilizarse como texto para el enlace, se añaden algunas excepciones. Así, no se considerarán enlaces problemáticos aquellos que empiecen por textos como Constitución, Convención, Decreto, Decreto Foral, Decreto Foral Legislativo, Decreto Legislativo, Decreto-ley, Directiva, Enmienda, Estatuto, Instrumento de Aceptación, Instrumento de Adhesión, Instrumento de Aprobación, Instrumento de Ratificación, Ley, Ley Foral, Ley Orgánica, Nota Diplomática, Orden Foral, Posición Común, Real Decreto, Real Decreto Legislativo, Real Decreto-ley, Resolución-Circular… o por acrónimos como R.D.

4.15.4. Se verifica que la alternativa textual de las imágenes incluidas dentro de enlaces no es igual al resto del contenido textual del enlace

ANALIZADOR ID: XXX. Se comprueba que no se producen redundancias de contenido innecesarias entre el texto de los enlaces y el texto alternativo de las imágenes incluidas dentro de enlaces. Para ello se verifica que las alternativas textuales de las imágenes incluidas dentro de enlaces no es igual que el resto del contenido textual del enlace.

4.16. REQUISITO 2.1.6.- CAMBIOS DE CONTEXTO

En este punto se verifica que no se realicen cambios de contexto sin que se realicen como respuesta a una acción de los usuarios como pulsar un enlace o botón. Si los cambios de contexto se realizan de forma correcta se le asigna el valor 1 y la modalidad pasa, si por el contrario se produce algún cambio de contexto nada más cargarse la página, cuando cambia el foco del teclado o cuando se selecciona una opción de un SELECT entonces se le asigna el valor 0 y la modalidad falla.

Se entiende por cambio de contexto una nueva página, ventana, pestaña o aplicación, o cambio de foco (window.location, window.history, window.open, window.focus).

4.16.1. Se verifica que no se produzca ningún cambio de contexto en los eventos onfocus u onblur.

ANALIZADOR ID: XXX. Se comprueba que no haya elementos en la página que empleen eventos onfocus u onblur en los que se realice algún cambio de contexto.

4.16.2. Se verifica que no se produzca ningún cambio de contexto nada más cargarse la página (onload).

ANALIZADOR ID: XXX. Se comprueba que no se esté usando en evento onload en el que se realice un cambio de contexto nada más cargarse la página

4.16.3. Se verifica que no se produzca ningún cambio de contexto en el evento onchange de los elementos SELECT

ANALIZADOR ID: XXX. Se verifica que no haya elementos SELECT en los que se esté usando el evento onchange para provocar un cambio de contexto nada más seleccionar alguna de sus opciones.

4.17. REQUISITO 2.1.7.- COMPATIBILIDAD

En este punto se verifica que el documento posea una gramática HTML correcta según la definición de tipo de documento (DTD) que presente. Asimismo, se comprueba que ni en el código HTML ni en el código CSS existan errores que impidan que se pueda procesar correctamente por todos los navegadores (errores de parseo) afectando a su compatibilidad. Si el documento tiene un DTD válido y tanto el código HTML como el CSS es procesable (parseable) entonces se le asigna el valor 1 y la modalidad pasa. Si, por el contrario, el documento carece de un DTD válido, tiene errores que afectan a su correcto procesamiento (parseo) o bien las hojas de estilo no son sintácticamente correctas entonces se le asignará el valor 0 y la modalidad falla.

4.17.1. Se verifica que el documento tenga un DTD válido.

ANALIZADOR ID: 323. Se comprueba que el documento tenga una declaración de tipo, y que además ésta sea válida. Para ello se verifica contra la lista de DTDs recomendados por la W3C, teniendo en cuenta que la parte de la URL en la declaración del DTD es opcional, por lo que no se penalizará cuando no aparezca en caso de que el resto esté bien. En caso de que la URL se especifique, deberá estar correcta también.

4.17.2. Se verifica que el código HTML no tiene errores que afecten a su correcto procesamiento por todos los navegadores

ANALIZADOR ID: XXX. Se comprueba que el código HTML no tenga errores de validación que afecten al correcto procesamiento del mismo. Es decir, se considera que falla si se produce algún error que pueda impedir que todos los navegadores interpreten el código de forma consistente. Estos errores son:

•Apertura y cierre de etiquetas y anidamiento incorrecto de elementos

•Atributos repetidos con diferente valor en el mismo elemento

•Valores de atributos sin entrecomillar

•Valores repetidos en la misma página en atributos que deben tener un valor único (id, accesskey)

4.17.3. Se verifica que el código CSS es parseable (bien formado sin errores de sintaxis)

ANALIZADOR ID: XXX. Se comprueba que el código CSS no tenga errores de sintaxis que afecten al correcto procesamiento del mismo. Es decir, se considera que falla si se produce algún error que pueda impedir que todos los navegadores interpreten el código de forma consistente.

No se realiza una validación gramatical del mismo, sino sólo una validación formal. Se admiten propiedades experimentales o propietarias siempre que la sintaxis de las CSS sea correcta.

4.18. REQUISITO 2.2.1.- MÚLTIPLES VÍAS DE NAVEGACIÓN

En este punto se verifica que en el portal se estén proporcionando diferentes mecanismos para que los usuarios puedan localizar los contenidos dentro del sitio. Se tiene que proporcionar o bien un mapa web o una función de búsqueda. Si se proporciona un enlace al mapa web o un buscador en el sitio entonces se le asigna valor 1 y la modalidad pasa. Por el contrario, si no se proporciona ni un enlace al mapa web ni una función de búsqueda entonces se le asigna el valor 0 y la modalidad falla.

4.18.1. Se verifica que se proporciona un mapa del sitio o una función de búsqueda dentro del sitio web.

ANALIZADOR ID: XXX. Se comprueba si existe un enlace al mapa web. Para ello se extraen los enlaces del documento y se verifica que alguno contenga uno de los siguientes textos (ID 135):

•mapa web

•mapa

•gunearen mapa

•site map

•plan du site

•mapa del sitio

•mapa del portal

•mapa del web

•mapa de la web

•mapa de web

•mapa do sitio

•mapa do portal

•mapa da web

•web mapa

•plan de site web

•plan

•map

•map of the website

•Webgunearen mapa

ya sea en su texto o su atributo title.

Por otra parte, se comprueba si existe algún campo INPUT de tipo “search” o si en el contenido de los formularios (texto, alternativas textuales y títulos) se está usando alguna de las palabras indicadas a continuación.

•Buscar

•Búsqueda

•Buscador

•Search

•Rechercher

•Cercar

•Cerca

•Cercador

•Bilaketa

•Bilatzailea

•Bilatu

•Busca

4.19. REQUISITO 2.2.2.- FOCO DEL TECLADO

En este punto se verifica que se respeta la correcta tabulación con teclado, manteniendo la visibilidad del indicador del foco y no abusando del atributo tabindex que sugiere el uso de un orden de tabulación por defecto inadecuado.

Si no se emplean estilos que eliminen el indicador visual del foco del teclado y no se abusa del atributo tabindex (hasta 3 en la página) para modificar el orden de tabulación se le asigna valor 1 y la modalidad pasa. Si no se emplean estilos que eliminen el indicador visual del foco del teclado pero se emplean entre 4 y 10 atributos tabindex entonces se evalúa a 0 con la modalidad pasa. Por el contrario, tanto si se emplean estilos para eliminar el indicador visual del foco del teclado como si se emplean más de 10 atributos tabindex para modificar el orden de tabulación por defecto se evalúa a 0 con la modalidad falla.

4.19.1. Se verifica que en las hojas de estilo no se emplee la propiedad outline con valor “0” o “none” en elementos de interacción.

ANALIZADOR ID: XXX. Se comprueba que no se están empleando estilos para eliminar el indicador visual del foco del teclado usado por defecto en los navegadores. Para ello se comprueba que en los elementos de interacción (enlaces, botones y campos de formulario) no se esté empleando la propiedad outline con un valor “0” o “none” sin emplear también otras propiedades para definir un borde o un color de fondo (sobre el mismo selector con el pseudoelemento :focus) que puedan servir para mejorar la visibilidad del indicador del foco por defecto.

A continuación se listan los elementos de interacción (enlaces, botones y campos de formulario) que se tienen en cuenta para esta comprobación:

•Enlaces:

◦A

•Botones:

◦BUTTON

◦INPUT de tipo “button”, “submit”, “reset” o “image”

•Campos de formulario para introducción de datos

◦INPUT de tipo “text”, “file”, “password”, “radio”, “checkbox”

◦SELECT

◦TEXTAREA

•Nuevos tipos de campos de formulario de HTML5:

◦INPUT de tipo “search”, “email”, “url”, “tel”, “number”, “range”, “date”, “month”, “week”, “time”, “datetime”, “datetime-local”, “color”

4.19.2. Se verifica que no se esté abusando del atributo tabindex para modificar el orden de tabulación por defecto

ANALIZADOR ID: XXX. Se comprueba que no se esté abusando del atributo tabindex con valor positivo (>0) para modificar el orden de tabulación por defecto, considerándolo como mala práctica dado los problemas de tabulación que puede generar y por no emplear el orden de tabulación por defecto. Si admite el uso de hasta 3 atributos tabindex en el documento. Si se emplean entre 4 y 10 tabindex se considera una mala práctica que puntuará como 0, aunque con la modalidad pasa. Por el contrario, si se emplean más de 10 atributos tabindex la comprobación da como resultado falla al considerar que el orden de tabulación por defecto no es correcto al depender en exceso de dicho atributo.

4.20. REQUISITO 2.2.3.- NAVEGACIÓN CONSISTENTE

Se verifica que el documento analizado posea una navegación consistente, ayudando a que el usuario sepa en todo momento cómo acceder a la información que desea. Si se considera que la navegación es consistente, se le asignará el valor 1 con modalidad pasa; si se detecta algún problema menor en la página, se le asignará un valor 0 con modalidad pasa; mientras que si se considera que la navegación no es consistente, se le asignará el valor 0 con modalidad falla. Si la página no tiene elementos de navegación, esta verificación no puntuará.

4.20.1. Se verifica que los enlaces no estén rotos

ANALIZADOR ID: 155. Se verifica que los enlaces de la página realmente funcionen, y no nos lleven a páginas que devuelvan el código 404. Los distintos casos considerados son:

Página sin enlaces rotos: puntuación 1, modalidad pasa.

Página con un enlace dentro del dominio o hasta dos enlaces externos rotos: puntuación 0, modalidad pasa.

Página con dos o más enlaces dentro del dominio o tres o más enlaces externos rotos: puntuación 0, modalidad falla.

4.20.2. Se verifica que no haya dos enlaces adyacentes que apuntan al mismo destino.

ANALIZADOR ID: 180. Se buscan los enlaces de la página y se verifica que no tengan un enlace justo a continuación que apunte a la misma localización remota. Se consideran enlaces adyacentes aquellos que están separados por un carácter y/o un conjunto de espacios en blanco, o por alguna etiqueta que no pertenezca al grupo de etiquetas en línea: A, ABBR, ACRONYM, B, BIG, CODE, CITE, DFN, EM, FONT, IMG, INS, LABEL, Q, S, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, U.

No se tienen en cuenta aquellos enlaces que apunten al destino “#”.

1. ANEXO: EQUIPO RESPONSABLE DEL PROYECTO

Coordinador del proyecto
Muñoz Salinero, Elena | Ministerio de Hacienda y Administraciones Públicas
Grupo de expertos: |
Administración General del Estado
Amutio, Miguel Ángel | Ministerio de Hacienda y Administraciones Públicas
Ballesteros, Juan Jesús | Ministerio de Fomento
Barajas, Juan Carlos | Ministerio de Asuntos Exteriores
Cabanillas, Carmen | Ministerio de Educación, Cultura y Deporte
Cecilia, Raúl | Gerencia de Informática y Seguridad Social
Cívicos, Noemí | Ministerio de la Presidencia
Criado, Isabel | Ministerio de Hacienda y Administraciones Públicas
Cubo, Aitor | Ministerio de Hacienda y Administraciones Públicas
Cueva, Esteban | Ministerio de Hacienda y Administraciones Públicas
De Mariano, Mª José | Ministerio de Hacienda y Administraciones Públicas
Espeso, Cristina | Ministerio de Justicia
Fernández, Manuel | Ministerio de Defensa
Gálvez, Adolfo | Instituto Nacional de Estadística
Gendive, Miguel Ángel | Ministerio de Empleo y Seguridad Social
Gómez, M. Soledad | Ministerio de Agricultura y Medio Ambiente
Hernández, M. Dolores | Ministerio de Hacienda y Administraciones Públicas
Larrosa, Diana | Ministerio de Justicia
Lucas, Javier | Ministerio de Industria, Turismo y Comercio
Luzzi, Román | Ministerio de Economía y Competitividad
Martín Aragón, Tomás | Servicio Público de Empleo Estatal
Paredes, Eloisa | Ministerio de Hacienda y Administraciones Públicas
Pastor, Andrés | Ministerio de Hacienda y Administraciones Públicas
Peña, Teresa | Ministerio de la Presidencia
Refolio, Paloma | Ministerio de Economía y Competitividad
Ribote, Sonia | Ministerio de Hacienda y Administraciones Públicas
Sancho, Victoria | Ministerio de Asuntos Exteriores
Sanz, Antonio | Ministerio de Empleo y Seguridad Social
Segurado, María | Ministerio de Hacienda y Administraciones Públicas
Testón, Inmaculada | Ministerio del Interior
Triguero, Mario | Gerencia de Informática y Seguridad Social
Valdenebro, Mª Luisa | Agencia Estatal de Administración Tributaria
Comunidades Autónomas |
Albert Garau, Bernat | Baleares
Albors, Ignasi | Cataluña
Aznar Vallejo, Eugenio | Canarias
Barras, Juan Antonio | Castilla y León
Berjano Tartiere, Bárbara | Asturias
Blanco Vega, Juan Antonio | Madrid
Cantabrana González, Ricardo | Aragón
Cia Pino, Itziar | Navarra
Concepción Suárez, Ramiro | Asturias
De Orbe Ferreira, Mª Jesús | País Vasco
Díaz Ascanio, Marta | Canarias
Espuny, Nuria | Cataluña
Eugenio Baute, Francisco J. | Canarias
Fernández Requejo, Antonio | Extremadura
Ferreiro Esteban, Belén | Galicia
Galán Huertos, Pilar | Castilla y León
García Álvarez, Carmen | Asturias
García Hernández, Rosa Mª. | Comunitat Valenciana
Gil Herrero, Javier | Comunitat Valenciana
Graells, Jordi | Cataluña
Hidalgo López, Francisco José | Asturias
Llorens Menéndez, María Aurora | Asturias
Llut Mañueco, Mª Esther | Asturias
Mancebo Izco, Amparo | Madrid
Marín Gómez, Irene | Galicia
Martínez Pelayo, Paula | Asturias
Moreno Beltrán, Ángel | La Rioja
Muñío, Carmen | Aragón
Navarro Artero, Isabel Ana | Murcia
Navarro López, Jose Antonio | Murcia
Osaba Urrutia, Iñaki | País Vasco
Peláez Gegúndez, Miguel Ángel | Asturias
Perera Domínguez, Manuel | Andalucía
Rodriguez Gonzalez, Felicitas | Galicia
Saro Baldor, Fco. Javier | Cantabria
Seisdedos Alonso, Carmen | Andalucía
Simón Soriano, Pilar | Castilla-La Mancha
Urrutia, Elsa | Cataluña
Valles, Carmen | Navarra
Velasco García, Mª José | Murcia
Zorita Pacheco, Antonio | Extremadura
Corporaciones Locales |
Bárcenas Gutiérrez, Pablo | Federación Española de Municipios y Provincias
Consultores Externos |
Berdasco, Andrés | Fundación CTIC – Oficina W3C España
García, Miguel | Fundación CTIC – Oficina W3C España
García, Chus | Fundación CTIC – Oficina W3C España

Notas

1   http://administracionelectronica.gob.es/PAe/accesibilidad