Buckets:
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <meta name="color-scheme" content="light dark"> | |
| <title>VA Accessibility & Sustainability | vital-scans</title> | |
| <link rel="stylesheet" href="style.css"> | |
| <script> | |
| // Apply the saved theme before first paint to avoid a flash of the | |
| // wrong colour scheme. No saved choice = follow the OS (prefers-color-scheme). | |
| try { | |
| var t = localStorage.getItem('vital-theme'); | |
| if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t); | |
| } catch (e) {} | |
| </script> | |
| </head> | |
| <body> | |
| <a class="skip" href="#main">Skip to content</a> | |
| <header> | |
| <p class="brand"><a href="index.html">vital-scans</a> <span class="tag">open quality ledger</span></p> | |
| <button id="theme-toggle" type="button" class="theme-toggle" aria-label="Switch to dark mode" aria-pressed="false" hidden> | |
| <svg class="icon-sun" aria-hidden="true" focusable="false" viewBox="0 0 24 24" width="20" height="20"> | |
| <circle cx="12" cy="12" r="5" fill="currentColor"/> | |
| <path stroke="currentColor" stroke-width="2" stroke-linecap="round" fill="none" | |
| d="M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"/> | |
| </svg> | |
| <svg class="icon-moon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" width="20" height="20"> | |
| <path fill="currentColor" d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/> | |
| </svg> | |
| <span class="theme-label">Theme</span> | |
| </button> | |
| <script> | |
| (function () { | |
| var btn = document.getElementById('theme-toggle'); | |
| if (!btn) return; | |
| btn.hidden = false; // only show the control when JS can drive it | |
| var mq = window.matchMedia('(prefers-color-scheme: dark)'); | |
| function current() { | |
| var attr = document.documentElement.getAttribute('data-theme'); | |
| return attr || (mq.matches ? 'dark' : 'light'); | |
| } | |
| function sync() { | |
| var dark = current() === 'dark'; | |
| // Label/pressed describe the action and state for screen readers. | |
| btn.setAttribute('aria-label', dark ? 'Switch to light mode' : 'Switch to dark mode'); | |
| btn.setAttribute('aria-pressed', String(dark)); | |
| } | |
| sync(); | |
| btn.addEventListener('click', function () { | |
| var next = current() === 'dark' ? 'light' : 'dark'; | |
| document.documentElement.setAttribute('data-theme', next); | |
| try { localStorage.setItem('vital-theme', next); } catch (e) {} | |
| sync(); | |
| }); | |
| mq.addEventListener && mq.addEventListener('change', sync); | |
| })(); | |
| </script> | |
| </header> | |
| <main id="main"> | |
| <h1>VA Accessibility & Sustainability</h1> | |
| <p class="meta">Automated weekly accessibility and sustainability monitoring of U.S. Department of Veterans Affairs web properties. | |
| </p> | |
| <table> | |
| <caption>Domains ranked by accessibility score (best first). Trajectory compares the score against ~4 weeks ago. Counts are medians per page over the last 7 days, comparable across sites of any size.</caption> | |
| <thead><tr><th scope="col">Domain</th><th scope="col">Score</th><th scope="col">Trajectory</th><th scope="col">Pages audited (7d)</th><th scope="col">Median axe / page</th><th scope="col">Median Alfa / page</th><th scope="col">Trend</th></tr></thead> | |
| <tbody><tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td class="num"><span class="grade grade-A">A</span> 100</td> | |
| <td><span class="traj traj-stable">▬ stable +0</span></td> | |
| <td class="num">1027</td> | |
| <td class="num">0</td> | |
| <td class="num">92</td> | |
| <td><svg class="spark" width="220" height="36" viewBox="0 0 220 36" aria-hidden="true"><polyline points="2.0,34.0 74.0,34.0 146.0,34.0 218.0,34.0" fill="none" stroke="currentColor" stroke-width="2"/></svg><span class="visually-hidden">Median axe violations per page over 4 weeks: 0, 0, 0, 0.</span></td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td class="num"><span class="grade grade-B">B</span> 80</td> | |
| <td><span class="traj traj-stable">▬ stable +0</span></td> | |
| <td class="num">1044</td> | |
| <td class="num">4</td> | |
| <td class="num">149</td> | |
| <td><svg class="spark" width="220" height="36" viewBox="0 0 220 36" aria-hidden="true"><polyline points="2.0,6.0 74.0,6.0 146.0,6.0 218.0,6.0" fill="none" stroke="currentColor" stroke-width="2"/></svg><span class="visually-hidden">Median axe violations per page over 4 weeks: 4, 4, 4, 4.</span></td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/benefits.va.gov/2026-W28/index.html">benefits.va.gov</a></th> | |
| <td class="num"><span class="grade grade-C">C</span> 70</td> | |
| <td><span class="traj traj-stable">▬ stable +0</span></td> | |
| <td class="num">713</td> | |
| <td class="num">6</td> | |
| <td class="num">146</td> | |
| <td><svg class="spark" width="220" height="36" viewBox="0 0 220 36" aria-hidden="true"><polyline points="2.0,6.0 74.0,6.0 146.0,6.0 218.0,6.0" fill="none" stroke="currentColor" stroke-width="2"/></svg><span class="visually-hidden">Median axe violations per page over 4 weeks: 6, 6, 6, 6.</span></td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/volunteer.va.gov/2026-W28/index.html">volunteer.va.gov</a></th> | |
| <td class="num"><span class="grade grade-F">F</span> 16</td> | |
| <td><span class="traj traj-stable">▬ stable +1</span></td> | |
| <td class="num">509</td> | |
| <td class="num">39</td> | |
| <td class="num">188</td> | |
| <td><svg class="spark" width="220" height="36" viewBox="0 0 220 36" aria-hidden="true"><polyline points="2.0,6.0 74.0,6.0 146.0,6.0 218.0,6.7" fill="none" stroke="currentColor" stroke-width="2"/></svg><span class="visually-hidden">Median axe violations per page over 4 weeks: 40, 40, 40, 39.</span></td> | |
| </tr></tbody> | |
| </table> | |
| <p class="score-caveat">Scores are a relative, automated signal based on axe violations per page (axe runs on every page; Alfa is sampled and reported separately). Automated testing finds only ~⅓ of barriers — use scores to compare and track direction, not as a pass/fail.</p> | |
| <figure class="chart"> | |
| <figcaption>Median axe violations per page, all domains — lower is better</figcaption> | |
| <svg viewBox="0 0 720 240" class="linechart" role="img" aria-label="Median axe violations per page over time, compared across 4 domains" preserveAspectRatio="xMidYMid meet"> | |
| <polyline points="40.0,212.0 220.0,212.0 400.0,212.0 580.0,212.0" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="" opacity="0.85"/><polyline points="40.0,192.4 220.0,192.4 400.0,192.4 580.0,192.4" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="6 3" opacity="0.85"/><polyline points="40.0,182.6 220.0,182.6 400.0,182.6 580.0,182.6" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="2 3" opacity="0.85"/><polyline points="40.0,16.0 220.0,16.0 400.0,16.0 580.0,20.9" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="8 3 2 3" opacity="0.85"/><g transform="translate(586,30)"><line x1="0" y1="-4" x2="18" y2="-4" stroke="currentColor" stroke-width="2" stroke-dasharray=""/><text x="22" y="0" class="axis">www.va.gov</text></g><g transform="translate(586,46)"><line x1="0" y1="-4" x2="18" y2="-4" stroke="currentColor" stroke-width="2" stroke-dasharray="6 3"/><text x="22" y="0" class="axis">news.va.gov</text></g><g transform="translate(586,62)"><line x1="0" y1="-4" x2="18" y2="-4" stroke="currentColor" stroke-width="2" stroke-dasharray="2 3"/><text x="22" y="0" class="axis">benefits.va.gov</text></g><g transform="translate(586,78)"><line x1="0" y1="-4" x2="18" y2="-4" stroke="currentColor" stroke-width="2" stroke-dasharray="8 3 2 3"/><text x="22" y="0" class="axis">volunteer.va.gov</text></g><text x="40.0" y="232" text-anchor="middle" class="axis">W25</text><text x="220.0" y="232" text-anchor="middle" class="axis">W26</text><text x="580.0" y="232" text-anchor="middle" class="axis">W28</text> | |
| <text x="4" y="20.0" class="axis">40</text><text x="4" y="216.0" class="axis">0</text> | |
| </svg> | |
| <table class="visually-hidden"><caption>Median axe violations per page by domain and week</caption> | |
| <thead><tr><th scope="col">Domain</th><th scope="col">2026-W25</th><th scope="col">2026-W26</th><th scope="col">2026-W27</th><th scope="col">2026-W28</th></tr></thead> | |
| <tbody><tr><th scope="row">www.va.gov</th><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><th scope="row">news.va.gov</th><td>4</td><td>4</td><td>4</td><td>4</td></tr><tr><th scope="row">benefits.va.gov</th><td>6</td><td>6</td><td>6</td><td>6</td></tr><tr><th scope="row">volunteer.va.gov</th><td>40</td><td>40</td><td>40</td><td>39</td></tr></tbody></table> | |
| </figure> | |
| <figure class="chart" data-parachart="{"datasets":[{"type":"line","title":"Fleet mean energy per page (Wh)","facets":{"x":{"label":"Week","variableType":"independent","measure":"interval","datatype":"string","displayType":{"type":"axis","orientation":"horizontal"}},"y":{"label":"Fleet mean energy per page (Wh)","variableType":"dependent","measure":"ratio","datatype":"number","displayType":{"type":"axis","orientation":"vertical"},"units":"Wh"}},"series":[{"key":"Fleet mean energy per page (Wh)","records":[{"x":"2026-W25","y":"1.041"},{"x":"2026-W26","y":"1.021"},{"x":"2026-W27","y":"1.044"},{"x":"2026-W28","y":"1.033"}]}],"data":{"source":"inline"},"settings":{"controlPanel.isControlPanelDefaultOpen":false}}]}"> | |
| <figcaption>Fleet mean energy per page (Wh) over 4 weeks — better (1.041 Wh → 1.033 Wh)</figcaption> | |
| <svg viewBox="0 0 640 180" class="linechart chart-fallback" role="img" aria-label="Fleet mean energy per page (Wh) trend: better (1.041 Wh → 1.033 Wh)" preserveAspectRatio="xMidYMid meet"> | |
| <polyline points="40.0,16.4 236.0,19.0 432.0,16.0 628.0,17.4" fill="none" stroke="currentColor" stroke-width="2"/> | |
| <circle cx="40.0" cy="16.4" r="2.5" fill="currentColor"/><circle cx="236.0" cy="19.0" r="2.5" fill="currentColor"/><circle cx="432.0" cy="16.0" r="2.5" fill="currentColor"/><circle cx="628.0" cy="17.4" r="2.5" fill="currentColor"/><text x="40.0" y="172" text-anchor="middle" class="axis">W25</text><text x="236.0" y="172" text-anchor="middle" class="axis">W26</text><text x="628.0" y="172" text-anchor="middle" class="axis">W28</text><text x="4" y="20.0" class="axis">1.044</text><text x="4" y="156.0" class="axis">0</text> | |
| </svg> | |
| <table class="visually-hidden"><caption>Fleet mean energy per page (Wh) by week</caption> | |
| <thead><tr><th scope="col">Week</th><th scope="col">Fleet mean energy per page (Wh)</th></tr></thead> | |
| <tbody><tr><th scope="row">2026-W25</th><td>1.041 Wh</td></tr><tr><th scope="row">2026-W26</th><td>1.021 Wh</td></tr><tr><th scope="row">2026-W27</th><td>1.044 Wh</td></tr><tr><th scope="row">2026-W28</th><td>1.033 Wh</td></tr></tbody></table> | |
| </figure> | |
| <section aria-labelledby="h-worst"> | |
| <h2 id="h-worst"><a class="anchor" href="#h-worst" aria-label="Link to this section"></a>Worst offenders across all domains</h2> | |
| <p class="meta">Highest-impact issues fleet-wide, ranked by pages affected × severity × people reached — where to focus effort first.</p> | |
| <table> | |
| <caption>Top 20 issues across all active domains.</caption> | |
| <thead><tr><th scope="col">Domain</th><th scope="col">Issue</th><th scope="col">Severity</th><th scope="col">Pages</th></tr></thead> | |
| <tbody><tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>All page content should be contained by landmarks (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">1044</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/benefits.va.gov/2026-W28/index.html">benefits.va.gov</a></th> | |
| <td>Document should have one main landmark (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">622</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/benefits.va.gov/2026-W28/index.html">benefits.va.gov</a></th> | |
| <td>All page content should be contained by landmarks (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">619</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/volunteer.va.gov/2026-W28/index.html">volunteer.va.gov</a></th> | |
| <td>Document should not have more than one banner landmark (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">502</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/volunteer.va.gov/2026-W28/index.html">volunteer.va.gov</a></th> | |
| <td>Document should have one main landmark (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">502</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/volunteer.va.gov/2026-W28/index.html">volunteer.va.gov</a></th> | |
| <td>Landmarks should have a unique role or role/label/title (i.e. accessible name) c (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">502</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/volunteer.va.gov/2026-W28/index.html">volunteer.va.gov</a></th> | |
| <td>All page content should be contained by landmarks (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">High</span></td> | |
| <td class="num">502</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td>Target Size (Minimum) (WCAG 2.5.8)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">522</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>Target Size (Minimum) (WCAG 2.5.8)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td>Name, Role, Value (WCAG 4.1.2)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">503</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td>Increase text contrast to meet WCAG AAA (7:1). (WCAG 1.4.3)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">522</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>sia-r73 (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>sia-r57 (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>Make links visually distinguishable from surrounding text (not by color alone). (WCAG 1.4.1)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>Increase text contrast to meet WCAG AAA (7:1). (WCAG 1.4.3)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>Increase text contrast to meet WCAG AA (4.5:1, or 3:1 for large text). (WCAG 1.4.3)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">514</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td>sia-r73 (WCAG criterion undetermined)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">510</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/www.va.gov/2026-W28/index.html">www.va.gov</a></th> | |
| <td>Label in Name (WCAG 2.5.3)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">508</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/news.va.gov/2026-W28/index.html">news.va.gov</a></th> | |
| <td>Label in Name (WCAG 2.5.3)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">502</td> | |
| </tr> | |
| <tr> | |
| <th scope="row"><a href="reports/benefits.va.gov/2026-W28/index.html">benefits.va.gov</a></th> | |
| <td>Target Size (Minimum) (WCAG 2.5.8)</td> | |
| <td><span class="sev-badge">Medium</span></td> | |
| <td class="num">364</td> | |
| </tr></tbody> | |
| </table> | |
| </section> | |
| <section aria-labelledby="h-techfindings"> | |
| <h2 id="h-techfindings"><a class="anchor" href="#h-techfindings" aria-label="Link to this section"></a>Cross-technology issues</h2> | |
| <p class="meta">Accessibility findings that recur with the same technology across multiple sites — the strongest signal that a barrier lives in a shared CMS, theme, or widget rather than in one site's content. Ranked by lift × number of sites affected. Association, not proof of cause: confirm before attributing.</p> | |
| <table class="sortable"> | |
| <caption>Top 25 technology ↔ finding associations spanning ≥2 sites.</caption> | |
| <thead><tr> | |
| <th scope="col">Technology</th> | |
| <th scope="col">Finding</th> | |
| <th scope="col" class="num">Lift</th> | |
| <th scope="col" class="num">Sites</th> | |
| <th scope="col" class="num">Pages</th> | |
| </tr></thead> | |
| <tbody><tr> | |
| <th scope="row">Microsoft ASP.NET</th> | |
| <td>landmark-unique (axe)</td> | |
| <td class="num">3.53×</td> | |
| <td class="num">3</td> | |
| <td class="num">63</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Bootstrap</th> | |
| <td>landmark-unique (axe)</td> | |
| <td class="num">2.91×</td> | |
| <td class="num">3</td> | |
| <td class="num">64</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery CDN</th> | |
| <td>landmark-unique (axe)</td> | |
| <td class="num">2.87×</td> | |
| <td class="num">3</td> | |
| <td class="num">65</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery Migrate</th> | |
| <td>landmark-unique (axe)</td> | |
| <td class="num">2.87×</td> | |
| <td class="num">3</td> | |
| <td class="num">65</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery CDN</th> | |
| <td>landmark-one-main (axe)</td> | |
| <td class="num">2.86×</td> | |
| <td class="num">3</td> | |
| <td class="num">109</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery Migrate</th> | |
| <td>landmark-one-main (axe)</td> | |
| <td class="num">2.86×</td> | |
| <td class="num">3</td> | |
| <td class="num">109</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Bootstrap</th> | |
| <td>landmark-one-main (axe)</td> | |
| <td class="num">2.86×</td> | |
| <td class="num">3</td> | |
| <td class="num">106</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Microsoft ASP.NET</th> | |
| <td>landmark-one-main (axe)</td> | |
| <td class="num">2.86×</td> | |
| <td class="num">3</td> | |
| <td class="num">86</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Microsoft ASP.NET</th> | |
| <td>landmark-no-duplicate-banner (axe)</td> | |
| <td class="num">3.63×</td> | |
| <td class="num">2</td> | |
| <td class="num">56</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Bootstrap</th> | |
| <td>landmark-no-duplicate-banner (axe)</td> | |
| <td class="num">3.00×</td> | |
| <td class="num">2</td> | |
| <td class="num">57</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery</th> | |
| <td>sia-r57 (alfa)</td> | |
| <td class="num">1.48×</td> | |
| <td class="num">4</td> | |
| <td class="num">104</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">USWDS</th> | |
| <td>sia-r57 (alfa)</td> | |
| <td class="num">1.48×</td> | |
| <td class="num">4</td> | |
| <td class="num">104</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">YouTube</th> | |
| <td>sia-r57 (alfa)</td> | |
| <td class="num">1.47×</td> | |
| <td class="num">4</td> | |
| <td class="num">103</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery</th> | |
| <td>region (axe)</td> | |
| <td class="num">1.47×</td> | |
| <td class="num">4</td> | |
| <td class="num">215</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">USWDS</th> | |
| <td>region (axe)</td> | |
| <td class="num">1.47×</td> | |
| <td class="num">4</td> | |
| <td class="num">215</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">YouTube</th> | |
| <td>region (axe)</td> | |
| <td class="num">1.47×</td> | |
| <td class="num">4</td> | |
| <td class="num">214</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery CDN</th> | |
| <td>landmark-no-duplicate-banner (axe)</td> | |
| <td class="num">2.92×</td> | |
| <td class="num">2</td> | |
| <td class="num">57</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery Migrate</th> | |
| <td>landmark-no-duplicate-banner (axe)</td> | |
| <td class="num">2.92×</td> | |
| <td class="num">2</td> | |
| <td class="num">57</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">YouTube</th> | |
| <td>heading-order (axe)</td> | |
| <td class="num">1.26×</td> | |
| <td class="num">4</td> | |
| <td class="num">28</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery</th> | |
| <td>heading-order (axe)</td> | |
| <td class="num">1.25×</td> | |
| <td class="num">4</td> | |
| <td class="num">28</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">USWDS</th> | |
| <td>heading-order (axe)</td> | |
| <td class="num">1.25×</td> | |
| <td class="num">4</td> | |
| <td class="num">28</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">YouTube</th> | |
| <td>sia-r53 (alfa)</td> | |
| <td class="num">1.24×</td> | |
| <td class="num">4</td> | |
| <td class="num">15</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">jQuery</th> | |
| <td>sia-r53 (alfa)</td> | |
| <td class="num">1.23×</td> | |
| <td class="num">4</td> | |
| <td class="num">15</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">USWDS</th> | |
| <td>sia-r53 (alfa)</td> | |
| <td class="num">1.23×</td> | |
| <td class="num">4</td> | |
| <td class="num">15</td> | |
| </tr> | |
| <tr> | |
| <th scope="row">Amazon S3</th> | |
| <td>landmark-unique (axe)</td> | |
| <td class="num">1.52×</td> | |
| <td class="num">3</td> | |
| <td class="num">66</td> | |
| </tr></tbody> | |
| </table> | |
| </section> | |
| <section aria-labelledby="h-why"> | |
| <h2 id="h-why"><a class="anchor" href="#h-why" aria-label="Link to this section"></a>Why this exists</h2> | |
| <p>Continuous measurement beats one-off audits. This ledger tracks whether each site is getting more | |
| accessible and lighter over time, using <a href="https://github.com/dequelabs/axe-core">axe-core</a> and | |
| <a href="https://github.com/Siteimprove/alfa">Alfa</a> (the open source engine behind Siteimprove) for | |
| accessibility, and page weight with <a href="https://sustainablewebdesign.org/">Sustainable Web Design</a> | |
| CO₂ estimates for sustainability. Everything here is open: the scanner, the data, and the reports.</p> | |
| </section> | |
| </main> | |
| <footer> | |
| <p>Built in the open with <a href="https://github.com/dequelabs/axe-core">axe-core</a> and | |
| <a href="https://github.com/Siteimprove/alfa">Siteimprove Alfa</a>; emissions estimated with | |
| <a href="https://github.com/thegreenwebfoundation/co2.js">co2.js</a> (SWD v4 model).</p> | |
| <p>This project follows public commitments to | |
| <a href="https://mgifford.github.io/ACCESSIBILITY.md/">accessibility</a> and | |
| <a href="https://mgifford.github.io/SUSTAINABILITY.md/">sustainability</a>, and the | |
| <a href="https://w3c.github.io/sustainableweb-wsg/">W3C Web Sustainability Guidelines</a>.</p> | |
| <p>Automated checks find roughly a third of accessibility barriers. A clean report is a floor, not a finish line.</p> | |
| </footer> | |
| <script type="module"> | |
| const figs = document.querySelectorAll('.chart[data-parachart]'); | |
| if (figs.length) { | |
| import('paracharts.js').then(() => { | |
| figs.forEach((fig) => { | |
| let manifest; | |
| try { manifest = fig.getAttribute('data-parachart'); } catch (e) { return; } | |
| if (!manifest) return; | |
| const chart = document.createElement('para-chart'); | |
| chart.setAttribute('manifestType', 'content'); | |
| chart.setAttribute('type', 'line'); | |
| chart.setAttribute('manifest', manifest); | |
| chart.style.display = 'block'; | |
| chart.style.width = '100%'; | |
| chart.style.maxWidth = '640px'; | |
| chart.style.aspectRatio = '16 / 7'; | |
| const fallback = fig.querySelector('.chart-fallback'); | |
| if (fallback) fallback.hidden = true; | |
| fig.insertBefore(chart, fig.firstChild ? fig.firstChild.nextSibling : null); | |
| }); | |
| }).catch(() => { /* keep the SVG + table fallback */ }); | |
| } | |
| </script> | |
| </body> | |
| </html> |
Xet Storage Details
- Size:
- 24 kB
- Xet hash:
- 5794123151379791e648b009511c0335cc48b826bac973ab0f6bc8afc76d38e6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.