Datos abiertos de la investigación
Accesibilidad de sitios municipales de EE. UU. · CC BY 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, Anthropic). Municipal Website Accessibility: Automated Scan versus Keyboard Traversal. Conjunto de datos abierto, versión del 1 de septiembre de 2026. CC BY 4.0.
Licencia CC BY 4.0: úsalo como quieras, incluso comercialmente, citando la autoría.
Qué contiene el conjunto
| Archivo | Contenido | Tamaño |
|---|---|---|
| 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 МБ 95,524 líneas |
| traversal-log-SCHEMA.md | Esquema del registro: cada campo explicado, qué valores son posibles y cómo leerlos. | 13 КБ |
| 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 МБ 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 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 МБ 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 КБ 11,659 líneas |
| measurement-dates.jsonl.gz | Cuándo se tomó exactamente cada captura. Tantas líneas como capturas verificadas en disco. | 853 КБ 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 МБ 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 КБ |
| 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 КБ |
| 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 КБ 1,499 líneas |
| unreachable-reasons.csv.gz | Motivos de inaccesibilidad, tabulados: DNS, TLS, tiempo de espera, conexión rechazada y demás. | 19 КБ 905 líneas |
| tls-certificates.jsonl.gz | Estado de los certificados TLS de los dominios recorridos. | 483 КБ 8,979 líneas |
| entity-classification.jsonl.gz | Clasificación de entidades: ciudad, condado, otro tipo. | 173 КБ 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 КБ 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 siguen bajo CC BY 4.0, sin cambios. 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 |
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.