Results for https://a11ycheck.app (opens in a new tab)

Scanned 15 May 2026 at 12:25

102 issues found
1 Level A
101 Level AA
Download CSV Check another page

  1. Page has forms but no help mechanism (help link, contact, or support)

    How to fix this
    • Add a help, contact, or FAQ link — typically in the header or footer
    • If help exists on other pages, ensure it appears in the same location here
    • WCAG 3.2.6 requires help mechanisms to be consistently placed across pages
  2. Draggable element must have a single-pointer alternative

    Affected element

    <html lang="en-GB"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>a11ycheck — WCAG 2.2 accessibility checker</title> <meta name="description" content="Check any web page against WCAG 2.2 accessibility guidelines. Free, fast, and no a...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  3. Draggable element must have a single-pointer alternative

    Affected element

    <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>a11ycheck — WCAG 2.2 accessibility checker</title> <meta name="description" content="Check any web page against WCAG 2.2 accessibility guidelines. Free, fast, and no account needed."> <li...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  4. Draggable element must have a single-pointer alternative

    Affected element

    <meta charset="UTF-8">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  5. Draggable element must have a single-pointer alternative

    Affected element

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  6. Draggable element must have a single-pointer alternative

    Affected element

    <title>a11ycheck — WCAG 2.2 accessibility checker</title>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  7. Draggable element must have a single-pointer alternative

    Affected element

    <meta name="description" content="Check any web page against WCAG 2.2 accessibility guidelines. Free, fast, and no account needed.">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  8. Draggable element must have a single-pointer alternative

    Affected element

    <link rel="preconnect" href="https://fonts.googleapis.com">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  9. Draggable element must have a single-pointer alternative

    Affected element

    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  10. Draggable element must have a single-pointer alternative

    Affected element

    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&amp;family=JetBrains+Mono:wght@400&amp;display=swap" rel="stylesheet">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  11. Draggable element must have a single-pointer alternative

    Affected element

    <link rel="stylesheet" href="/css/style.css">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  12. Draggable element must have a single-pointer alternative

    Affected element

    <body class="page-home"> <a href="#main" class="skip-link">Skip to main content</a> <header class="site-header"> <div class="container"> <a href="/" class="site-logo" aria-label="a11ycheck home"> <span class="logo-mark" aria-hidden="true">a11y</span><span class="logo-check" aria-hidden="true">che...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  13. Draggable element must have a single-pointer alternative

    Affected element

    <a href="#main" class="skip-link">Skip to main content</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  14. Draggable element must have a single-pointer alternative

    Affected element

    <header class="site-header"> <div class="container"> <a href="/" class="site-logo" aria-label="a11ycheck home"> <span class="logo-mark" aria-hidden="true">a11y</span><span class="logo-check" aria-hidden="true">check</span> </a> <nav class="site-nav" aria-label="Main navigation"> <a href="/">Check...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  15. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <a href="/" class="site-logo" aria-label="a11ycheck home"> <span class="logo-mark" aria-hidden="true">a11y</span><span class="logo-check" aria-hidden="true">check</span> </a> <nav class="site-nav" aria-label="Main navigation"> <a href="/">Check a page</a> <a href="/history...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  16. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/" class="site-logo" aria-label="a11ycheck home"> <span class="logo-mark" aria-hidden="true">a11y</span><span class="logo-check" aria-hidden="true">check</span> </a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  17. Draggable element must have a single-pointer alternative

    Affected element

    <span class="logo-mark" aria-hidden="true">a11y</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  18. Draggable element must have a single-pointer alternative

    Affected element

    <span class="logo-check" aria-hidden="true">check</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  19. Draggable element must have a single-pointer alternative

    Affected element

    <nav class="site-nav" aria-label="Main navigation"> <a href="/">Check a page</a> <a href="/history.php">History</a> <a href="https://apps.apple.com" class="nav-app-link" target="_blank" rel="noopener">iOS app <span class="sr-only">(opens in a new tab)</span></a> </nav>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  20. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/">Check a page</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  21. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/history.php">History</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  22. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://apps.apple.com" class="nav-app-link" target="_blank" rel="noopener">iOS app <span class="sr-only">(opens in a new tab)</span></a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  23. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in a new tab)</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  24. Draggable element must have a single-pointer alternative

    Affected element

    <main id="main"> <section class="hero"> <div class="container"> <h1>Check any page against <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.2</h1> <p class="hero-sub">Paste a URL below and get a full report of accessibility issues, organised by severity, with plain-English fix sug...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  25. Draggable element must have a single-pointer alternative

    Affected element

    <section class="hero"> <div class="container"> <h1>Check any page against <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.2</h1> <p class="hero-sub">Paste a URL below and get a full report of accessibility issues, organised by severity, with plain-English fix suggestions.</p> <fo...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  26. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <h1>Check any page against <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.2</h1> <p class="hero-sub">Paste a URL below and get a full report of accessibility issues, organised by severity, with plain-English fix suggestions.</p> <form class="scan-form" ac...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  27. Draggable element must have a single-pointer alternative

    Affected element

    <h1>Check any page against <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.2</h1>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  28. Draggable element must have a single-pointer alternative

    Affected element

    <abbr title="Web Content Accessibility Guidelines">WCAG</abbr>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  29. Draggable element must have a single-pointer alternative

    Affected element

    <p class="hero-sub">Paste a URL below and get a full report of accessibility issues, organised by severity, with plain-English fix suggestions.</p>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  30. Draggable element must have a single-pointer alternative

    Affected element

    <form class="scan-form" action="/results.php" method="post" id="scan-form" novalidate> <div class="scan-input-group"> <label for="url" class="sr-only">Web page URL</label> <input type="url" id="url" name="url" class="scan-input" placeholder="https://example.com" autocomplete="url" required aria-d...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  31. Draggable element must have a single-pointer alternative

    Affected element

    <div class="scan-input-group"> <label for="url" class="sr-only">Web page URL</label> <input type="url" id="url" name="url" class="scan-input" placeholder="https://example.com" autocomplete="url" required aria-describedby="url-hint"> <button type="submit" class="btn btn-primary scan-btn"> <span cl...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  32. Draggable element must have a single-pointer alternative

    Affected element

    <label for="url" class="sr-only">Web page URL</label>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  33. Draggable element must have a single-pointer alternative

    Affected element

    <input type="url" id="url" name="url" class="scan-input" placeholder="https://example.com" autocomplete="url" required aria-describedby="url-hint">
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  34. Draggable element must have a single-pointer alternative

    Affected element

    <button type="submit" class="btn btn-primary scan-btn"> <span class="btn-text">Check page</span> <span class="btn-loading" aria-hidden="true" hidden>Scanning…</span> </button>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  35. Draggable element must have a single-pointer alternative

    Affected element

    <span class="btn-text">Check page</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  36. Draggable element must have a single-pointer alternative

    Affected element

    <span class="btn-loading" aria-hidden="true" hidden>Scanning…</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  37. Draggable element must have a single-pointer alternative

    Affected element

    <p id="url-hint" class="hint">Enter the full URL including https://</p>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  38. Draggable element must have a single-pointer alternative

    Affected element

    <section class="what-we-check"> <div class="container"> <h2>What we check</h2> <ul class="check-grid" role="list"> <li> <span class="check-icon" aria-hidden="true">🖼</span> <strong>Images</strong> <span>Alt text, decorative images, images of text</span> </li> <li> <span class="check-icon" aria...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  39. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <h2>What we check</h2> <ul class="check-grid" role="list"> <li> <span class="check-icon" aria-hidden="true">🖼</span> <strong>Images</strong> <span>Alt text, decorative images, images of text</span> </li> <li> <span class="check-icon" aria-hidden="true">📝</span> <stro...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  40. Draggable element must have a single-pointer alternative

    Affected element

    <h2>What we check</h2>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  41. Draggable element must have a single-pointer alternative

    Affected element

    <ul class="check-grid" role="list"> <li> <span class="check-icon" aria-hidden="true">🖼</span> <strong>Images</strong> <span>Alt text, decorative images, images of text</span> </li> <li> <span class="check-icon" aria-hidden="true">📝</span> <strong>Forms</strong> <span>Labels, autocomplete, e...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  42. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🖼</span> <strong>Images</strong> <span>Alt text, decorative images, images of text</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  43. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🖼</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  44. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Images</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  45. Draggable element must have a single-pointer alternative

    Affected element

    <span>Alt text, decorative images, images of text</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  46. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">📝</span> <strong>Forms</strong> <span>Labels, autocomplete, error handling, authentication</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  47. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">📝</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  48. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Forms</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  49. Draggable element must have a single-pointer alternative

    Affected element

    <span>Labels, autocomplete, error handling, authentication</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  50. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">⌨️</span> <strong>Keyboard</strong> <span>Focus order, skip links, focus visibility, keyboard traps</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  51. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">⌨️</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  52. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Keyboard</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  53. Draggable element must have a single-pointer alternative

    Affected element

    <span>Focus order, skip links, focus visibility, keyboard traps</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  54. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🏗</span> <strong>Structure</strong> <span>Headings, landmarks, tables, reading order</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  55. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🏗</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  56. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Structure</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  57. Draggable element must have a single-pointer alternative

    Affected element

    <span>Headings, landmarks, tables, reading order</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  58. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🔗</span> <strong>Links</strong> <span>Descriptive link text, new-tab warnings, link purpose</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  59. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🔗</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  60. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Links</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  61. Draggable element must have a single-pointer alternative

    Affected element

    <span>Descriptive link text, new-tab warnings, link purpose</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  62. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🌐</span> <strong>Language</strong> <span>Page language, language of parts, valid lang attributes</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  63. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🌐</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  64. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Language</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  65. Draggable element must have a single-pointer alternative

    Affected element

    <span>Page language, language of parts, valid lang attributes</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  66. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🎬</span> <strong>Media</strong> <span>Captions, audio descriptions, autoplay controls</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  67. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🎬</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  68. Draggable element must have a single-pointer alternative

    Affected element

    <strong>Media</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  69. Draggable element must have a single-pointer alternative

    Affected element

    <span>Captions, audio descriptions, autoplay controls</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  70. Draggable element must have a single-pointer alternative

    Affected element

    <li> <span class="check-icon" aria-hidden="true">🆕</span> <strong>WCAG 2.2</strong> <span>Focus not obscured, dragging, target size, authentication</span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  71. Draggable element must have a single-pointer alternative

    Affected element

    <span class="check-icon" aria-hidden="true">🆕</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  72. Draggable element must have a single-pointer alternative

    Affected element

    <strong>WCAG 2.2</strong>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  73. Draggable element must have a single-pointer alternative

    Affected element

    <span>Focus not obscured, dragging, target size, authentication</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  74. Draggable element must have a single-pointer alternative

    Affected element

    <p class="wcag-note"> Checks pages against <a href="https://www.w3.org/TR/WCAG22/" target="_blank" rel="noopener">WCAG 2.2 <span class="sr-only">(opens in a new tab)</span></a> Levels A, AA, and select AAA criteria. Automated scanning detects roughly 40% of all accessibility issues — always sup...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  75. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.w3.org/TR/WCAG22/" target="_blank" rel="noopener">WCAG 2.2 <span class="sr-only">(opens in a new tab)</span></a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  76. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in a new tab)</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  77. Draggable element must have a single-pointer alternative

    Affected element

    <section class="recent-scans"> <div class="container"> <h2>Recent scans</h2> <ul class="scan-list" role="list"> <li class="scan-item"> <a href="/results.php?id=1" class="scan-url">https://andycoughlan.com</a> <span class="scan-meta"> 15 May 2026, 12:23 · <span class="badge badge-a">22 Level A</s...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  78. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <h2>Recent scans</h2> <ul class="scan-list" role="list"> <li class="scan-item"> <a href="/results.php?id=1" class="scan-url">https://andycoughlan.com</a> <span class="scan-meta"> 15 May 2026, 12:23 · <span class="badge badge-a">22 Level A</span> <span class="badge badge-a...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  79. Draggable element must have a single-pointer alternative

    Affected element

    <h2>Recent scans</h2>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  80. Draggable element must have a single-pointer alternative

    Affected element

    <ul class="scan-list" role="list"> <li class="scan-item"> <a href="/results.php?id=1" class="scan-url">https://andycoughlan.com</a> <span class="scan-meta"> 15 May 2026, 12:23 · <span class="badge badge-a">22 Level A</span> <span class="badge badge-aa">369 Level AA</span> </span> </li> </ul>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  81. Draggable element must have a single-pointer alternative

    Affected element

    <li class="scan-item"> <a href="/results.php?id=1" class="scan-url">https://andycoughlan.com</a> <span class="scan-meta"> 15 May 2026, 12:23 · <span class="badge badge-a">22 Level A</span> <span class="badge badge-aa">369 Level AA</span> </span> </li>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  82. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/results.php?id=1" class="scan-url">https://andycoughlan.com</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  83. Draggable element must have a single-pointer alternative

    Affected element

    <span class="scan-meta"> 15 May 2026, 12:23 · <span class="badge badge-a">22 Level A</span> <span class="badge badge-aa">369 Level AA</span> </span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  84. Draggable element must have a single-pointer alternative

    Affected element

    <span class="badge badge-a">22 Level A</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  85. Draggable element must have a single-pointer alternative

    Affected element

    <span class="badge badge-aa">369 Level AA</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  86. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/history.php" class="link-more">View all scans →</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  87. Draggable element must have a single-pointer alternative

    Affected element

    <footer class="site-footer"> <div class="container"> <div class="footer-inner"> <p class="footer-logo">a11ycheck</p> <nav class="footer-nav" aria-label="Footer navigation"> <a href="/">Check a page</a> <a href="/history.php">History</a> <a href="https://www.w3.org/WAI/WCAG22/quickref/" target="_b...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  88. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <div class="footer-inner"> <p class="footer-logo">a11ycheck</p> <nav class="footer-nav" aria-label="Footer navigation"> <a href="/">Check a page</a> <a href="/history.php">History</a> <a href="https://www.w3.org/WAI/WCAG22/quickref/" target="_blank" rel="noopener">WCAG 2.2...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  89. Draggable element must have a single-pointer alternative

    Affected element

    <div class="footer-inner"> <p class="footer-logo">a11ycheck</p> <nav class="footer-nav" aria-label="Footer navigation"> <a href="/">Check a page</a> <a href="/history.php">History</a> <a href="https://www.w3.org/WAI/WCAG22/quickref/" target="_blank" rel="noopener">WCAG 2.2 reference <span class="...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  90. Draggable element must have a single-pointer alternative

    Affected element

    <p class="footer-logo">a11ycheck</p>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  91. Draggable element must have a single-pointer alternative

    Affected element

    <nav class="footer-nav" aria-label="Footer navigation"> <a href="/">Check a page</a> <a href="/history.php">History</a> <a href="https://www.w3.org/WAI/WCAG22/quickref/" target="_blank" rel="noopener">WCAG 2.2 reference <span class="sr-only">(opens in a new tab)</span></a> <a href="https://apps.a...
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  92. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/">Check a page</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  93. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/history.php">History</a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  94. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.w3.org/WAI/WCAG22/quickref/" target="_blank" rel="noopener">WCAG 2.2 reference <span class="sr-only">(opens in a new tab)</span></a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  95. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in a new tab)</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  96. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://apps.apple.com" target="_blank" rel="noopener">iOS app <span class="sr-only">(opens in a new tab)</span></a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  97. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in a new tab)</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  98. Draggable element must have a single-pointer alternative

    Affected element

    <p class="footer-copy"> © 2026 a11ycheck · Checks pages against <a href="https://www.w3.org/TR/WCAG22/" target="_blank" rel="noopener">WCAG 2.2 <span class="sr-only">(opens in a new tab)</span></a> </p>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  99. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.w3.org/TR/WCAG22/" target="_blank" rel="noopener">WCAG 2.2 <span class="sr-only">(opens in a new tab)</span></a>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  100. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in a new tab)</span>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  101. Draggable element must have a single-pointer alternative

    Affected element

    <script src="/js/main.js"></script>
    How to fix this
    • Provide a click/tap alternative for all drag-and-drop interactions
    • Add arrow-key or button controls alongside drag interfaces
    • Sortable lists should also work via keyboard or click-to-move
  102. No second way to locate this page was detected

    How to fix this
    • Add a site search so users can find content without traversing navigation
    • Include a sitemap link, typically in the footer
    • Add breadcrumb navigation to show the page's position in the site
    • At least two of these should be present: navigation menu, search, sitemap, breadcrumbs

Don't stop here

Automated checks catch around 40% of accessibility issues. To find the rest:

  • Keyboard test — navigate the page using only Tab, Shift+Tab, Enter, Space, and arrow keys
  • Screen reader test — use VoiceOver on macOS/iOS or NVDA on Windows
  • Zoom test — increase browser text size to 200% and check for broken layouts
  • Colour contrast — check all text with WebAIM's contrast checker (opens in a new tab)