Datos abiertos de la investigación
Accesibilidad de sitios municipales de EE. UU. · CC BY-NC 4.0
Aquí están los datos en bruto detrás de cada cifra que publicamos. Cualquier número puede recalcularse por cuenta propia, sin acceso a nuestro código. Los archivos se sirven directamente y no están protegidos: eso es precisamente lo que significan los datos abiertos.
Cómo citar
Maksim Galatin & AIfa (Claude, Gemini, Grok). Municipal Website Accessibility: Automated Scan versus Keyboard Traversal. Conjunto de datos abierto, versión del 1 de septiembre de 2026. CC BY-NC 4.0.
Licencia CC BY-NC 4.0: uso libre no comercial (investigación, docencia, periodismo) citando la autoría; el uso comercial solo con licencia de pago (contact@codeofdigitaleternity.com).
Qué contiene el conjunto
| Archivo | Contenido | Tamaño |
|---|---|---|
| traversal-log-v5-2026-10-02.jsonl.gz | El registro principal, versión 2 (instrumento v5, 1–2 de octubre de 2026). Una línea es una página: el veredicto original del recorrido, la categoría según las opciones A y B, la capa de medición y el recorrido del foco. De él sale la cifra de 33,5 %. | 12,0 MB 95,216 líneas |
| traversal-log-v5-SCHEMA.md | Descripción de los campos de la versión 2: categorías, correspondencia entre veredictos y categorías, cómo recalcular la cifra y qué se enmascaró antes de publicar. | 7,7 KB |
| traversal-log-2026-09-01.jsonl.gz | El registro principal. Una línea es un recorrido de teclado de una página: URL, ciudad, estado, tipo de página, cuántas pulsaciones de Tab hasta el objetivo, dónde se rompió el camino y por qué, si los campos tienen etiquetas, nombre de la captura, veredicto. | 3,2 MB 95,524 líneas |
| traversal-log-2026-09-01-corrected-2026-10-16.jsonl.gz | Una copia corregida del registro principal de la versión 1 (16 de octubre de 2026). Difiere del original exactamente en 4019 líneas: el veredicto se recalcula a partir del motivo registrado, el anterior se conserva en el campo вердикт_до_16_10_2026 y la regla en el campo исправлено_16_10_2026. SHA-256 1b1ee13764ba58aa64bc3ac6c5034ef5c2de159cb06d4c59410ac2e6dcae3be0. | 3,2 MB 95,524 líneas |
| cookie-banner-holds-focus-v21-2026-10-16.csv | 19 páginas en 5 dominios donde un aviso de consentimiento de cookies retiene el foco del teclado durante los 60 pasos hasta que se responde. Nunca respondemos a un aviso —sería dar consentimiento en nombre de otro—, así que es un límite de nuestro instrumento y no una barrera del sitio. Sin estas páginas, la cifra principal de la versión 2.1 es 24,56 % en lugar de 24,62 %. | 3,3 KB 19 líneas |
| traversal-log-SCHEMA.md | Esquema del registro: cada campo explicado, qué valores son posibles y cómo leerlos. | 15 KB |
| us-government-axe-audit.jsonl.gz | Auditoría de sitios gubernamentales de EE. UU. con el motor axe-core 4.x: 85 497 comprobaciones de páginas con las infracciones desglosadas por gravedad, regla y tipo de página. Los correos que quedaron dentro de selectores CSS junto a enlaces mailto están ocultos. | 4,1 MB 85,497 líneas |
| us-government-axe-audit-corrected-2026-10-17.jsonl.gz | Una copia corregida de la auditoría axe (17 de octubre de 2026). Difiere del original exactamente en los 2005 registros que habían chocado con nuestro límite de 8 segundos: 792 se sustituyen por la nueva medición con un límite de 20 segundos y 1213 conservan su resultado anterior y reciben el campo перемер_16_10_2026. Las otras 83 492 líneas son idénticas al original byte a byte. | 4,3 MB 85,497 líneas |
| us-organizations-registry.jsonl.gz | Registro de organizaciones de EE. UU.: 289 420 registros en los 51 territorios — escuelas, hospitales, organismos públicos, comercio y servicios. Es la lista de objetos que recorrió el rastreo. ⚖️ LICENCIA APARTE: ODbL 1.0, no CC BY-NC 4.0 — el registro deriva de OpenStreetMap (visible en el campo osm_id), © colaboradores de OpenStreetMap. Antes de publicar se eliminaron 210 730 teléfonos y 20 859 correos. | 16,0 MB 289,420 líneas |
| us-registry-cisa.jsonl.gz | El registro federal CISA al 31 de agosto de 2026: la muestra de origen de dominios de ciudades y condados de EE. UU. | 276 KB 11,659 líneas |
| measurement-dates.jsonl.gz | Cuándo se tomó exactamente cada captura. Tantas líneas como capturas verificadas en disco. | 853 KB 83,212 líneas |
| evidence-hashes-2026-09-01.txt.gz | Registro de integridad: SHA-256 de cada archivo de evidencia. Su propio hash está sellado en Bitcoin mediante OpenTimestamps. | 2,7 MB 81,065 líneas |
| evidence-hashes-2026-09-01.timestamp.json | La prueba del sello de tiempo: qué calendarios aceptaron el hash y cuándo. | 2,7 KB |
| solana-anchor-status.json | El estado honesto del anclaje en cadena: qué ya está hecho en Bitcoin y en qué paso está el registro en Solana. | 2,3 KB |
| dead-domains-2026-09-01.csv | Dominios del registro que no respondieron. Revisados a mano; el hallazgo no trata de accesibilidad sino de la calidad de los datos públicos. | 30 KB 1,499 líneas |
| unreachable-reasons.csv.gz | Motivos de inaccesibilidad, tabulados: DNS, TLS, tiempo de espera, conexión rechazada y demás. | 19 KB 905 líneas |
| tls-certificates.jsonl.gz | Estado de los certificados TLS de los dominios recorridos. | 483 KB 8,979 líneas |
| entity-classification.jsonl.gz | Clasificación de entidades: ciudad, condado, otro tipo. | 173 KB 11,997 líneas |
| recaptured-screenshots.jsonl.gz | Capturas rehechas después, indicando cuál fue reemplazada y cuándo. Las versiones previas no se eliminan. | 14 KB 757 líneas |
Registro de cambios
Qué cambió en el conjunto y por qué. Las cifras se obtuvieron abriendo los archivos, no leyendo sus nombres. Dos veces el número de registros BAJÓ: es una corrección en contra de nuestro interés, no un recorte, y cada caso está explicado.
| Fecha | Archivo | Contenido | Cambio |
|---|---|---|---|
| 2026-09-10 | us-organizations-registry.jsonl.gz | Conjunto devuelto a la distribución con la licencia CORRECTA. El registro de organizaciones deriva de OpenStreetMap —se ve en el campo osm_id de cada registro— y OpenStreetMap se licencia bajo ODbL 1.0, que exige que una base derivada se distribuya también bajo ODbL. Lo publicamos bajo CC BY 4.0, y fue un error. La mañana del 10 de septiembre se retiró el conjunto; por la tarde se corrigió esa decisión: retirarlo era innecesario, bastaba con poner ODbL 1.0 a ESTE archivo. Así se ha hecho ahora; los demás conjuntos siguieron entonces bajo CC BY 4.0; desde el 5 de octubre de 2026 están bajo CC BY-NC 4.0 (uso comercial solo con licencia de pago). La lista de organizaciones procede de OpenStreetMap, © colaboradores de OpenStreetMap. | — |
| 2026-08-30 | dead-domains-2026-08-30.csv | Primera publicación de la lista de dominios sin registro DNS: figuran en el registro federal CISA pero no existen. | 1,209 líneas |
| 2026-08-31 | dead-domains-2026-08-31.csv | Lista ampliada tras recorrer los estados restantes. | 1,651 líneas +442 |
| 2026-09-01 | dead-domains-2026-09-01.csv | El recuento BAJÓ, y la corrección va en contra de nuestro interés: 152 dominios que habíamos dado por muertos respondieron al reintentar con un navegador real y cuatro direcciones por dominio. Nos corregimos, no recortamos los datos. | 1,499 líneas −152 |
| 2026-09-01 | traversal-log-2026-09-01.jsonl.gz | El registro principal de recorrido por teclado: 95 524 registros en 11 902 dominios. El barrido del registro federal CISA está completo: los 11 659 sitios. | 95,524 líneas |
| 2026-09-01 | evidence-hashes-2026-09-01.txt.gz | Registro de integridad: SHA-256 de cada captura. Ese mismo día su propio hash quedó sellado en Bitcoin mediante OpenTimestamps: antedatar una captura exigiría reescribir Bitcoin. | 81,657 líneas |
| 2026-09-03 | evidence-hashes-2026-09-03.txt.gz | Registro de integridad ampliado en 28 442 registros: las capturas de los pases repetidos quedan bajo prueba. | 110,099 líneas +28,442 |
| 2026-09-09 | us-organizations-registry.jsonl.gz | Nuevo conjunto. Registro de organizaciones de EE. UU.: 289 420 registros en los 51 territorios — escuelas, hospitales, comercio y servicios, con dirección del sitio, coordenadas y grupo sectorial. Se reunió como muestra para la siguiente etapa del recorrido y hasta hoy permanecía sin publicar. Los teléfonos (210 730) y los correos (20 859) se eliminaron a propósito de la copia publicada: no intervienen en la medición, y cinco mil de esas direcciones eran buzones personales en gmail y similares. Otras 15 direcciones se limpiaron del campo del sitio: en los datos de OpenStreetMap allí habían escrito un correo en lugar de una página. | 289,420 líneas |
| 2026-09-09 | us-government-axe-audit.jsonl.gz | Nuevo conjunto. Auditoría de sitios gubernamentales de EE. UU. con el motor axe-core 4.x: 85 497 comprobaciones de páginas, con las infracciones desglosadas por gravedad, por regla concreta y por tipo de página. Es una medición aparte y no debe sumarse al recorrido municipal: allí una persona pulsa Tab, aquí actúa un motor automático, y los métodos difieren. Los correos que quedaron dentro de selectores CSS junto a enlaces mailto están ocultos: el selector sigue indicando dónde está la infracción. | 85,497 líneas |
| 2026-10-02 | traversal-log-v5-2026-10-02.jsonl.gz | Versión 2 del registro principal: 95 216 líneas en 11 902 dominios, nueva medición con el instrumento v5 (1–2 de octubre de 2026). Barrera entre las páginas medidas: 33,5 % (8448 de 25 252); 33,9 % si un anillo de foco casi invisible cuenta como barrera. La versión 1 se mantiene sin cambios: las dos versiones no se pueden comparar cifra a cifra porque cambió el instrumento; detalles en /research/data. Los correos y teléfonos de funcionarios en el texto del recorrido del foco están enmascarados. | 95,216 líneas |
| 2026-10-16 | traversal-log-2026-09-01-corrected-2026-10-16.jsonl.gz | Una copia corregida del registro de la versión 1; el original sigue al lado, sin cambios. En 4019 registros el veredicto decía que el recorrido no se pudo realizar, mientras que el motivo registrado dice que sí se realizó. El veredicto se recalcula con la misma regla que el motor aplicó en los otros 15 053 registros de este tipo: 1703 pasan a «accesible» y 2316 a «barrera parcial». Cada línea corregida conserva su veredicto anterior; las otras 91 505 líneas coinciden con el original byte a byte. | 95,524 líneas −0 |
| 2026-10-17 | us-government-axe-audit-corrected-2026-10-17.jsonl.gz | Una copia corregida de la auditoría axe de sitios gubernamentales de EE. UU.; el original sigue al lado, sin cambios. 2005 registros habían chocado con nuestro propio límite de carga de 8 segundos y figuraban como «no se abrió». Todos se volvieron a medir el 16 y 17 de octubre con un límite de 20 segundos y el mismo axe 4.13.0. Solo se sustituyen 792 registros, aquellos en los que la página ahora se abrió y se comprobó; un «comprobado» anterior nunca se sustituye por un fallo de hoy. Los otros 1213 registros medidos de nuevo se conservan tal cual, con la nueva medición anotada. Totales: «comprobado» 40 536 → 41 328, «no se abrió» 40 661 → 39 869. | 85,497 líneas −0 |
Formato
Los archivos .jsonl.gz son JSON por líneas comprimido con gzip: una línea, un objeto. Cualquier archivador los descomprime y cualquier programa los lee línea por línea sin cargar todo en memoria. El navegador no puede mostrar un archivo así, por eso lo guarda en disco: es el comportamiento normal de un archivo comprimido, no un error.
Campos del registro principal
| url | URL de la página comprobada |
| город / штат | ciudad y estado del propietario |
| страница_тип | qué página es: home, payment, jobs, documents, meetings, 311_request, etc. |
| шагов_до_цели | cuántas pulsaciones de Tab hicieron falta para llegar; 0 significa que no se alcanzó |
| где_оборвалось | el elemento donde se rompió el camino |
| причина | en palabras: la página no abrió, objetivo no alcanzado en 40 pulsaciones, éxito en N pasos |
| есть_метки_у_полей | si los campos del formulario tienen etiquetas para lector de pantalla |
| контраст_ок | si el texto cumple el requisito de contraste |
| скриншот | nombre del archivo de captura tomado en el momento de la medición |
| вердикт_человека | el veredicto humano: accesible, barrera parcial, barrera, inalcanzable, etc. |
| что_сказал_скрипт | qué dijo la comprobación automática sobre la misma página |
| вендор_платформы | la plataforma del sitio, cuando se pudo identificar |
| когда_замер | hora de la medición |
Cómo comprobar que los datos no fueron sustituidos
Cada archivo de evidencia tiene su SHA-256; todos los hashes están reunidos en un registro, y el hash del registro está sellado en Bitcoin mediante OpenTimestamps, sin coste y aceptado por tres calendarios independientes. Antedatar una captura es ya imposible sin reescribir Bitcoin. El procedimiento está en evidence-hashes-README.txt.
Cuidado con los porcentajes
El estudio da tres porcentajes distintos, cada uno con su denominador. Primero: entre las páginas que la comprobación automática consideró limpias, el 53,8 % no llegó al objetivo — denominador 25 966. Segundo: entre TODAS las páginas medibles, no llegó el 74,6 % de 47 271. Tercero: de los 95 524 registros del log, el 12,6 % sí llegó. Ninguno significa «el X % de los sitios son inaccesibles»: son porcentajes de páginas, no de sitios. La versión 2 del conjunto (2 de octubre de 2026, instrumento v5) cuenta de otro modo: las páginas sin la función no se cuentan como barreras, y la barrera entre las páginas medidas es del 33,5 % (8448 de 25 252). Los detalles y la comparación de versiones están en /research/data.