Results for https://andycoughlan.com (opens in a new tab)

Scanned 15 May 2026 at 12:23

391 issues found
22 Level A
369 Level AA
Download CSV Check another page

  1. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2025/12/8f5f78536bcdc14d.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  2. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  3. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  4. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  5. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  6. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  7. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  8. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  9. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  10. Linked image with empty alt has no accessible name — the link destination is unknown

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/4d8180fd63408373.png" alt="" loading="lazy">
    How to fix this
    • Add alt text describing the link destination
    • Or add an aria-label to the parent <a> or <button>
    • Empty alt is only correct for purely decorative images not inside links
  11. Form input has no accessible label

    Affected element

    <input type="text" name="website" tabindex="-1" autocomplete="off">
    How to fix this
    • Add a <label> element with a matching for attribute
    • Or use aria-label or aria-labelledby on the input
    • Every form field must have a programmatically associated label
  12. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2025/12/8f5f78536bcdc14d.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  13. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/screenplay-dialogue-the-art-of-less" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  14. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/how-to-write-action-scenes-that-work" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  15. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/getting-edited-hurts-but-do-it-anyway" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  16. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/pacing-when-to-speed-up-and-when-to-slow-down" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  17. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/sff-and-the-big-questions" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  18. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/you-made-it-now-prove-it" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  19. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/want-wound-need" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  20. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/why-screenplay-format-matters" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  21. aria-hidden="true" is set on a focusable element — it will be skipped by screen readers but can still receive keyboard focus

    Affected element

    <a href="/the-worlds-we-want-to-live-in" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/4d8180fd63408373.png" alt="" loading="lazy"> </a>
    How to fix this
    • Remove aria-hidden from focusable elements
    • Add tabindex="-1" to remove the element from the tab order if it should be hidden
    • Or remove the element from the DOM entirely if it is not needed
  22. 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
  23. Draggable element must have a single-pointer alternative

    Affected element

    <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Andy Coughlan</title> <meta name="description" content="Fantasy writer exploring the edges of storytelling"> <link rel="alternate" type="application/rss+xml" title="Andy Co...
    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

    <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Andy Coughlan</title> <meta name="description" content="Fantasy writer exploring the edges of storytelling"> <link rel="alternate" type="application/rss+xml" title="Andy Coughlan RSS" href=...
    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

    <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
  26. 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
  27. Draggable element must have a single-pointer alternative

    Affected element

    <title>Andy Coughlan</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
  28. Draggable element must have a single-pointer alternative

    Affected element

    <meta name="description" content="Fantasy writer exploring the edges of storytelling">
    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

    <link rel="alternate" type="application/rss+xml" title="Andy Coughlan RSS" href="/feed">
    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

    <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
  31. Draggable element must have a single-pointer alternative

    Affected element

    <link rel="stylesheet" href="https://use.typekit.net/cpn7gkm.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
  32. Draggable element must have a single-pointer alternative

    Affected element

    <style> :root { --accent: #e79335; --accent-dark: #c9802f; --accent-light: #e793351a; --font-heading: gin, Georgia, serif; --font-body: new-spirit, Georgia, serif; } </style>
    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

    <body class="dark-mode" data-ga-id="G-25FWP8PDSE"> <a href="#main-content" class="skip-link">Skip to main content</a> <div class="container"> <header class="site-header"> <div class="site-branding"> <a href="/" class="site-logo"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb...
    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

    <a href="#main-content" 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
  35. Draggable element must have a single-pointer alternative

    Affected element

    <div class="container"> <header class="site-header"> <div class="site-branding"> <a href="/" class="site-logo"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan"> </a> <div class="site-branding-text"> <h1 class="site-title"><a href="/">Andy Coughlan</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
  36. Draggable element must have a single-pointer alternative

    Affected element

    <header class="site-header"> <div class="site-branding"> <a href="/" class="site-logo"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan"> </a> <div class="site-branding-text"> <h1 class="site-title"><a href="/">Andy Coughlan</a></h1> <p class="site-tagl...
    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

    <div class="site-branding"> <a href="/" class="site-logo"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan"> </a> <div class="site-branding-text"> <h1 class="site-title"><a href="/">Andy Coughlan</a></h1> <p class="site-tagline">Fantasy writer exploring...
    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

    <a href="/" class="site-logo"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan"> </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
  39. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan">
    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

    <div class="site-branding-text"> <h1 class="site-title"><a href="/">Andy Coughlan</a></h1> <p class="site-tagline">Fantasy writer exploring the edges of storytelling</p> </div>
    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

    <h1 class="site-title"><a href="/">Andy Coughlan</a></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
  42. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/">Andy Coughlan</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
  43. Draggable element must have a single-pointer alternative

    Affected element

    <p class="site-tagline">Fantasy writer exploring the edges of storytelling</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
  44. Draggable element must have a single-pointer alternative

    Affected element

    <nav class="site-nav"> <form action="/search" method="GET" class="search-form-header"> <input type="search" name="q" placeholder="Search..." aria-label="Search posts"> <button type="submit" class="search-btn" aria-label="Search"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" view...
    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

    <form action="/search" method="GET" class="search-form-header"> <input type="search" name="q" placeholder="Search..." aria-label="Search posts"> <button type="submit" class="search-btn" aria-label="Search"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewbox="0 0 24 24" fill="n...
    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

    <input type="search" name="q" placeholder="Search..." aria-label="Search posts">
    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

    <button type="submit" class="search-btn" aria-label="Search"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><path d="m21 21...
    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

    <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg>
    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

    <circle cx="11" cy="11" r="8"></circle>
    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

    <path d="m21 21-4.3-4.3"></path>
    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

    <a href="/search" class="search-link-mobile" aria-label="Search"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="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
  52. Draggable element must have a single-pointer alternative

    Affected element

    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg>
    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

    <circle cx="11" cy="11" r="8"></circle>
    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

    <path d="m21 21-4.3-4.3"></path>
    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="sr-only">Search</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

    <a href="/subscribe" class="btn btn-primary">Subscribe</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
  57. Draggable element must have a single-pointer alternative

    Affected element

    <section class="hero-carousel" role="region" aria-label="Featured posts" aria-roledescription="carousel"> <div class="carousel-track"> <a href="/screenplay-dialogue-the-art-of-less" class="carousel-slide is-active" role="group" aria-roledescription="slide" aria-label="Slide 1 of 8"> <img src="htt...
    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

    <div class="carousel-track"> <a href="/screenplay-dialogue-the-art-of-less" class="carousel-slide is-active" role="group" aria-roledescription="slide" aria-label="Slide 1 of 8"> <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" class="carousel-image" loading="eager">...
    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

    <a href="/screenplay-dialogue-the-art-of-less" class="carousel-slide is-active" role="group" aria-roledescription="slide" aria-label="Slide 1 of 8"> <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" class="carousel-image" loading="eager"> <div class="carousel-overlay...
    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

    <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" class="carousel-image" loading="eager">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">Screenplay dialogue: the art of less</h2> <time class="carousel-date" datetime="2026-05-15"> 15 May 2026 </time> </div>
    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

    <h2 class="carousel-title">Screenplay dialogue: the art of less</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
  63. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-05-15"> 15 May 2026 </time>
    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

    <a href="/how-to-write-action-scenes-that-work" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 2 of 8"> <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 cla...
    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

    <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">How to write action scenes that work</h2> <time class="carousel-date" datetime="2026-05-08"> 8 May 2026 </time> </div>
    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

    <h2 class="carousel-title">How to write action scenes that work</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
  68. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-05-08"> 8 May 2026 </time>
    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

    <a href="/getting-edited-hurts-but-do-it-anyway" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 3 of 8"> <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 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
  70. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">Getting edited hurts, but do it anyway</h2> <time class="carousel-date" datetime="2026-05-01"> 1 May 2026 </time> </div>
    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

    <h2 class="carousel-title">Getting edited hurts, but do it anyway</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
  73. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-05-01"> 1 May 2026 </time>
    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

    <a href="/pacing-when-to-speed-up-and-when-to-slow-down" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 4 of 8"> <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"...
    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

    <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">Pacing: when to speed up and when to slow down</h2> <time class="carousel-date" datetime="2026-04-24"> 24 April 2026 </time> </div>
    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

    <h2 class="carousel-title">Pacing: when to speed up and when to slow down</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
  78. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-04-24"> 24 April 2026 </time>
    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

    <a href="/sff-and-the-big-questions" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 5 of 8"> <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 class="carouse...
    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

    <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">SFF and the big questions</h2> <time class="carousel-date" datetime="2026-04-21"> 21 April 2026 </time> </div>
    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

    <h2 class="carousel-title">SFF and the big questions</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
  83. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-04-21"> 21 April 2026 </time>
    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

    <a href="/you-made-it-now-prove-it" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 6 of 8"> <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 class="carousel...
    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

    <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">You made it. Now prove it.</h2> <time class="carousel-date" datetime="2026-04-14"> 14 April 2026 </time> </div>
    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

    <h2 class="carousel-title">You made it. Now prove it.</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
  88. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-04-14"> 14 April 2026 </time>
    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

    <a href="/want-wound-need" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 7 of 8"> <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 class="carousel-title">W...
    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

    <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">Want, wound, need</h2> <time class="carousel-date" datetime="2026-04-10"> 10 April 2026 </time> </div>
    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

    <h2 class="carousel-title">Want, wound, need</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
  93. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-04-10"> 10 April 2026 </time>
    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="/why-screenplay-format-matters" class="carousel-slide" role="group" aria-roledescription="slide" aria-label="Slide 8 of 8"> <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" class="carousel-image" loading="lazy"> <div class="carousel-overlay"> <h2 class="car...
    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

    <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" class="carousel-image" loading="lazy">
    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

    <div class="carousel-overlay"> <h2 class="carousel-title">Why screenplay format matters</h2> <time class="carousel-date" datetime="2026-04-07"> 7 April 2026 </time> </div>
    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

    <h2 class="carousel-title">Why screenplay format matters</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
  98. Draggable element must have a single-pointer alternative

    Affected element

    <time class="carousel-date" datetime="2026-04-07"> 7 April 2026 </time>
    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

    <button class="carousel-btn carousel-btn-prev" aria-label="Previous slide"> <svg width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"></polyline></svg> </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
  100. Draggable element must have a single-pointer alternative

    Affected element

    <svg width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"></polyline></svg>
    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

    <polyline points="15 18 9 12 15 6"></polyline>
    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. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-btn carousel-btn-next" aria-label="Next slide"> <svg width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg> </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
  103. Draggable element must have a single-pointer alternative

    Affected element

    <svg width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg>
    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
  104. Draggable element must have a single-pointer alternative

    Affected element

    <polyline points="9 18 15 12 9 6"></polyline>
    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
  105. Draggable element must have a single-pointer alternative

    Affected element

    <div class="carousel-dots" role="tablist" aria-label="Carousel navigation"> <button class="carousel-dot is-active" role="tab" aria-selected="true" aria-label="Go to slide 1"></button> <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 2"></button> <button 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
  106. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot is-active" role="tab" aria-selected="true" aria-label="Go to slide 1"></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
  107. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 2"></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
  108. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 3"></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
  109. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 4"></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
  110. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 5"></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
  111. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 6"></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
  112. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 7"></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
  113. Draggable element must have a single-pointer alternative

    Affected element

    <button class="carousel-dot" role="tab" aria-selected="false" aria-label="Go to slide 8"></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
  114. Draggable element must have a single-pointer alternative

    Affected element

    <div class="sr-only" aria-live="polite" id="carousel-live-region"></div>
    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
  115. Draggable element must have a single-pointer alternative

    Affected element

    <main class="main-content" id="main-content"> <div class="post-list" data-image-layout="behind"> <article class="post-card post-card-pinned post-card-has-image"> <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think" class="post-card-thumb" aria-hidden="true"...
    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
  116. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-list" data-image-layout="behind"> <article class="post-card post-card-pinned post-card-has-image"> <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan...
    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
  117. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-pinned post-card-has-image"> <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2025/12/8f5f78536bcdc14d.png" alt="" l...
    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
  118. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2025/12/8f5f78536bcdc14d.png" alt="" loading="lazy"> </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
  119. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2025/12/8f5f78536bcdc14d.png" alt="" loading="lazy">
    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
  120. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think"> Start here: On Writing Fantasy, Building Systems, and Understanding How People Think </a> </h2> <div class="post-meta"> <span class="badge badge-pinne...
    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
  121. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think"> Start here: On Writing Fantasy, Building Systems, and Understanding How People Think </a> </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
  122. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/start-here-on-writing-fantasy-building-systems-and-understanding-how-people-think"> Start here: On Writing Fantasy, Building Systems, and Understanding How People Think </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
  123. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <span class="badge badge-pinned">📌 Pinned</span> <time datetime="2025-12-07"> 7 December 2025 </time> </div>
    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
  124. Draggable element must have a single-pointer alternative

    Affected element

    <span class="badge badge-pinned">📌 Pinned</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
  125. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2025-12-07"> 7 December 2025 </time>
    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
  126. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> New to my work? Read this first. </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
  127. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/screenplay-dialogue-the-art-of-less" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="pos...
    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
  128. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/screenplay-dialogue-the-art-of-less" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" loading="lazy"> </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
  129. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/988dba16343033ff.png" alt="" loading="lazy">
    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
  130. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/screenplay-dialogue-the-art-of-less"> Screenplay dialogue: the art of less </a> </h2> <div class="post-meta"> <time datetime="2026-05-15"> 15 May 2026 </time> </div> <p class="post-excerpt"> In prose, dialogue can meander. Characters ...
    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
  131. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/screenplay-dialogue-the-art-of-less"> Screenplay dialogue: the art of less </a> </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
  132. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/screenplay-dialogue-the-art-of-less"> Screenplay dialogue: the art of less </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
  133. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-05-15"> 15 May 2026 </time> </div>
    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
  134. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-05-15"> 15 May 2026 </time>
    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
  135. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> In prose, dialogue can meander. Characters can talk the way real people talk — with tangents, repetitions, verbal tics, circling around points before making… </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
  136. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/craft" class="tag"> craft </a> <a href="/tag/dialogue" class="tag"> dialogue </a> <a href="/tag/screenwriting" class="tag"> screenwriting </a> </div>
    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
  137. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  138. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/dialogue" class="tag"> dialogue </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
  139. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/screenwriting" class="tag"> screenwriting </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
  140. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/how-to-write-action-scenes-that-work" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="po...
    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
  141. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/how-to-write-action-scenes-that-work" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" loading="lazy"> </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
  142. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/e1b9d01c6c5be527.png" alt="" loading="lazy">
    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
  143. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/how-to-write-action-scenes-that-work"> How to write action scenes that work </a> </h2> <div class="post-meta"> <time datetime="2026-05-08"> 8 May 2026 </time> </div> <p class="post-excerpt"> Action scenes should be the exciting bits. ...
    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
  144. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/how-to-write-action-scenes-that-work"> How to write action scenes that work </a> </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
  145. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/how-to-write-action-scenes-that-work"> How to write action scenes that work </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
  146. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-05-08"> 8 May 2026 </time> </div>
    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
  147. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-05-08"> 8 May 2026 </time>
    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
  148. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> Action scenes should be the exciting bits. So why are they so often boring on the page? The problem is, and it's one I learned the hard way, that what works… </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
  149. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/craft" class="tag"> craft </a> <a href="/tag/editing" class="tag"> editing </a> <a href="/tag/writing" class="tag"> writing </a> </div>
    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
  150. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  151. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/editing" class="tag"> editing </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
  152. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/writing" class="tag"> writing </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
  153. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/getting-edited-hurts-but-do-it-anyway" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="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
  154. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/getting-edited-hurts-but-do-it-anyway" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" loading="lazy"> </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
  155. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/05/a9921429f4c66fa0.png" alt="" loading="lazy">
    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
  156. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/getting-edited-hurts-but-do-it-anyway"> Getting edited hurts, but do it anyway </a> </h2> <div class="post-meta"> <time datetime="2026-05-01"> 1 May 2026 </time> </div> <p class="post-excerpt"> I'm currently working with Jo Fletcher o...
    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
  157. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/getting-edited-hurts-but-do-it-anyway"> Getting edited hurts, but do it anyway </a> </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
  158. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/getting-edited-hurts-but-do-it-anyway"> Getting edited hurts, but do it anyway </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
  159. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-05-01"> 1 May 2026 </time> </div>
    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
  160. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-05-01"> 1 May 2026 </time>
    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
  161. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> I'm currently working with Jo Fletcher on my latest fantasy novel. Jo is a legend — one of the most respected editors in the genre, responsible for launching… </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
  162. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/craft" class="tag"> craft </a> <a href="/tag/editing" class="tag"> editing </a> <a href="/tag/publishing" class="tag"> publishing </a> </div>
    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
  163. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  164. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/editing" class="tag"> editing </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
  165. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/publishing" class="tag"> publishing </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
  166. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/pacing-when-to-speed-up-and-when-to-slow-down" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <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
  167. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/pacing-when-to-speed-up-and-when-to-slow-down" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" loading="lazy"> </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
  168. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/2fb408aa538f8085.png" alt="" loading="lazy">
    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
  169. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/pacing-when-to-speed-up-and-when-to-slow-down"> Pacing: when to speed up and when to slow down </a> </h2> <div class="post-meta"> <time datetime="2026-04-24"> 24 April 2026 </time> </div> <p class="post-excerpt"> Pacing is invisible w...
    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
  170. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/pacing-when-to-speed-up-and-when-to-slow-down"> Pacing: when to speed up and when to slow down </a> </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
  171. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/pacing-when-to-speed-up-and-when-to-slow-down"> Pacing: when to speed up and when to slow down </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
  172. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-24"> 24 April 2026 </time> </div>
    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
  173. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-24"> 24 April 2026 </time>
    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
  174. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> Pacing is invisible when it's working. You only notice it when something feels wrong — the story dragging, or rushing past moments that should have weight.… </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
  175. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/craft" class="tag"> craft </a> <a href="/tag/editing" class="tag"> editing </a> <a href="/tag/writing" class="tag"> writing </a> </div>
    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
  176. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  177. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/editing" class="tag"> editing </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
  178. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/writing" class="tag"> writing </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
  179. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/sff-and-the-big-questions" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="post-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
  180. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/sff-and-the-big-questions" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" loading="lazy"> </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
  181. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/2b808481d975b4f7.png" alt="" loading="lazy">
    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
  182. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/sff-and-the-big-questions"> SFF and the big questions </a> </h2> <div class="post-meta"> <time datetime="2026-04-21"> 21 April 2026 </time> </div> <p class="post-excerpt"> Science fiction and fantasy get dismissed sometimes. "Escapism...
    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
  183. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/sff-and-the-big-questions"> SFF and the big questions </a> </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
  184. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/sff-and-the-big-questions"> SFF and the big questions </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
  185. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-21"> 21 April 2026 </time> </div>
    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
  186. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-21"> 21 April 2026 </time>
    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
  187. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> Science fiction and fantasy get dismissed sometimes. "Escapism." "Genre fiction." Not proper literature that grapples with real issues. Nonsense. SFF has been… </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
  188. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/fantasy" class="tag"> fantasy </a> <a href="/tag/sci-fi" class="tag"> sci-fi </a> <a href="/tag/sff" class="tag"> sff </a> <a href="/tag/themes" class="tag"> themes </a> </div>
    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
  189. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/fantasy" class="tag"> fantasy </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
  190. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/sci-fi" class="tag"> sci-fi </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
  191. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/sff" class="tag"> sff </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
  192. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/themes" class="tag"> themes </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
  193. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/you-made-it-now-prove-it" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="post-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
  194. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/you-made-it-now-prove-it" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" loading="lazy"> </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
  195. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/ba0aad0f2e13d67f.png" alt="" loading="lazy">
    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
  196. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/you-made-it-now-prove-it"> You made it. Now prove it. </a> </h2> <div class="post-meta"> <time datetime="2026-04-14"> 14 April 2026 </time> </div> <p class="post-excerpt"> I have a love-hate relationship with AI. I love using it to he...
    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
  197. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/you-made-it-now-prove-it"> You made it. Now prove it. </a> </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
  198. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/you-made-it-now-prove-it"> You made it. Now prove it. </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
  199. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-14"> 14 April 2026 </time> </div>
    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
  200. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-14"> 14 April 2026 </time>
    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
  201. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> I have a love-hate relationship with AI. I love using it to help me build apps and websites, develop and test ideas and proofread blogs etc. But! Something… </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
  202. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/ai" class="tag"> ai </a> <a href="/tag/creativity" class="tag"> creativity </a> <a href="/tag/legal" class="tag"> legal </a> </div>
    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
  203. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/ai" class="tag"> ai </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
  204. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/creativity" class="tag"> creativity </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
  205. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/legal" class="tag"> legal </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
  206. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/want-wound-need" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="post-title"> <a href="/...
    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
  207. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/want-wound-need" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" loading="lazy"> </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
  208. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/af4230a4f64d733d.png" alt="" loading="lazy">
    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
  209. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/want-wound-need"> Want, wound, need </a> </h2> <div class="post-meta"> <time datetime="2026-04-10"> 10 April 2026 </time> </div> <p class="post-excerpt"> Every writing book talks about what your character wants. Fewer talk about why t...
    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
  210. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/want-wound-need"> Want, wound, need </a> </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
  211. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/want-wound-need"> Want, wound, need </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
  212. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-10"> 10 April 2026 </time> </div>
    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
  213. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-10"> 10 April 2026 </time>
    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
  214. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> Every writing book talks about what your character wants. Fewer talk about why that want matters — or what's really driving it underneath. The… </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
  215. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/character" class="tag"> character </a> <a href="/tag/craft" class="tag"> craft </a> <a href="/tag/writing" class="tag"> writing </a> </div>
    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
  216. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/character" class="tag"> character </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
  217. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  218. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/writing" class="tag"> writing </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
  219. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/why-screenplay-format-matters" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="post-titl...
    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
  220. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/why-screenplay-format-matters" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" loading="lazy"> </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
  221. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/496647e17d8b5cd7.png" alt="" loading="lazy">
    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
  222. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/why-screenplay-format-matters"> Why screenplay format matters </a> </h2> <div class="post-meta"> <time datetime="2026-04-07"> 7 April 2026 </time> </div> <p class="post-excerpt"> I have to hold my hand up, I'm a bit of a purist when i...
    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
  223. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/why-screenplay-format-matters"> Why screenplay format matters </a> </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
  224. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/why-screenplay-format-matters"> Why screenplay format matters </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
  225. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-07"> 7 April 2026 </time> </div>
    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
  226. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-07"> 7 April 2026 </time>
    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
  227. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> I have to hold my hand up, I'm a bit of a purist when it comes to screenplay formatting. Screenplay format seems arbitrary. Courier font? Specific margins?… </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
  228. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/production" class="tag"> production </a> <a href="/tag/screenwriting" class="tag"> screenwriting </a> </div>
    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
  229. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/production" class="tag"> production </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
  230. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/screenwriting" class="tag"> screenwriting </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
  231. Draggable element must have a single-pointer alternative

    Affected element

    <article class="post-card post-card-has-image"> <a href="/the-worlds-we-want-to-live-in" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/4d8180fd63408373.png" alt="" loading="lazy"> </a> <div class="post-card-body"> <h2 class="post-titl...
    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
  232. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/the-worlds-we-want-to-live-in" class="post-card-thumb" aria-hidden="true" tabindex="-1"> <img src="https://andycoughlan.com/uploads/2026/04/4d8180fd63408373.png" alt="" loading="lazy"> </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
  233. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/4d8180fd63408373.png" alt="" loading="lazy">
    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
  234. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-card-body"> <h2 class="post-title"> <a href="/the-worlds-we-want-to-live-in"> The worlds we want to live in </a> </h2> <div class="post-meta"> <time datetime="2026-04-03"> 3 April 2026 </time> </div> <p class="post-excerpt"> Part of why we read fantasy and science fiction is the ...
    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
  235. Draggable element must have a single-pointer alternative

    Affected element

    <h2 class="post-title"> <a href="/the-worlds-we-want-to-live-in"> The worlds we want to live in </a> </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
  236. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/the-worlds-we-want-to-live-in"> The worlds we want to live in </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
  237. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-meta"> <time datetime="2026-04-03"> 3 April 2026 </time> </div>
    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
  238. Draggable element must have a single-pointer alternative

    Affected element

    <time datetime="2026-04-03"> 3 April 2026 </time>
    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
  239. Draggable element must have a single-pointer alternative

    Affected element

    <p class="post-excerpt"> Part of why we read fantasy and science fiction is the worlds. Not just the stories that happen in them — the worlds themselves. Some of them feel so real… </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
  240. Draggable element must have a single-pointer alternative

    Affected element

    <div class="post-tags"> <a href="/tag/fantasy" class="tag"> fantasy </a> <a href="/tag/sci-fi" class="tag"> sci-fi </a> <a href="/tag/world-building" class="tag"> world-building </a> <a href="/tag/writing" class="tag"> writing </a> </div>
    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
  241. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/fantasy" class="tag"> fantasy </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
  242. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/sci-fi" class="tag"> sci-fi </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
  243. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/world-building" class="tag"> world-building </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
  244. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/writing" class="tag"> writing </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
  245. Draggable element must have a single-pointer alternative

    Affected element

    <nav class="pagination" aria-label="Pagination"> <span class="pagination-info"> Page 1 of 7 </span> <a href="/page/2" class="pagination-next"> Older posts → </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
  246. Draggable element must have a single-pointer alternative

    Affected element

    <span class="pagination-info"> Page 1 of 7 </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
  247. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/page/2" class="pagination-next"> Older posts → </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
  248. Draggable element must have a single-pointer alternative

    Affected element

    <aside class="sidebar" aria-label="Sidebar"> <div class="about-text"> <p>Andy's musings about the creative process; writing, filmmaking, neuroscience, technology and working with a titan of the sci-fi and fantasy world editing my novel.</p> </div> <div class="subscribe-box"> <h3>Join my list</h3>...
    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
  249. Draggable element must have a single-pointer alternative

    Affected element

    <div class="about-text"> <p>Andy's musings about the creative process; writing, filmmaking, neuroscience, technology and working with a titan of the sci-fi and fantasy world editing my novel.</p> </div>
    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
  250. Draggable element must have a single-pointer alternative

    Affected element

    <p>Andy's musings about the creative process; writing, filmmaking, neuroscience, technology and working with a titan of the sci-fi and fantasy world editing my novel.</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
  251. Draggable element must have a single-pointer alternative

    Affected element

    <div class="subscribe-box"> <h3>Join my list</h3> <p>Get my latest posts delivered straight to your inbox.</p> <form action="/api/subscribe.php" method="POST" class="subscribe-form" data-challenge-key="e17302bddbf32c24" data-success-message="Thanks for subscribing!&lt;br /&gt;Check your inbox."> ...
    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
  252. Draggable element must have a single-pointer alternative

    Affected element

    <h3>Join my list</h3>
    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
  253. Draggable element must have a single-pointer alternative

    Affected element

    <p>Get my latest posts delivered straight to your inbox.</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
  254. Draggable element must have a single-pointer alternative

    Affected element

    <form action="/api/subscribe.php" method="POST" class="subscribe-form" data-challenge-key="e17302bddbf32c24" data-success-message="Thanks for subscribing!&lt;br /&gt;Check your inbox."> <input type="email" name="email" placeholder="your@email.com" required aria-required="true" aria-label="Email 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
  255. Draggable element must have a single-pointer alternative

    Affected element

    <input type="email" name="email" placeholder="your@email.com" required aria-required="true" aria-label="Email address">
    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
  256. Draggable element must have a single-pointer alternative

    Affected element

    <input type="text" name="name" placeholder="Your name (optional)" aria-label="Your name">
    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
  257. Draggable element must have a single-pointer alternative

    Affected element

    <div style="position: absolute; left: -9999px;" aria-hidden="true"> <input type="text" name="website" tabindex="-1" autocomplete="off"> </div>
    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
  258. Draggable element must have a single-pointer alternative

    Affected element

    <input type="text" name="website" tabindex="-1" autocomplete="off">
    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
  259. Draggable element must have a single-pointer alternative

    Affected element

    <input type="hidden" name="timestamp" value="1778844181">
    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
  260. Draggable element must have a single-pointer alternative

    Affected element

    <input type="hidden" name="challenge_key" value="e17302bddbf32c24">
    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
  261. Draggable element must have a single-pointer alternative

    Affected element

    <input type="hidden" name="challenge" value="">
    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
  262. Draggable element must have a single-pointer alternative

    Affected element

    <button type="submit">Subscribe</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
  263. Draggable element must have a single-pointer alternative

    Affected element

    <div class="about-box"> <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan" class="author-avatar"> <h4>Andy Coughlan</h4> <div class="author-bio"><p>Andy's musings about the creative process; writing, filmmaking, neuroscience and technology</p></div> </div>
    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
  264. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2025/12/d59276c84e7c26eb.jpg" alt="Andy Coughlan" class="author-avatar">
    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
  265. Draggable element must have a single-pointer alternative

    Affected element

    <h4>Andy Coughlan</h4>
    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
  266. Draggable element must have a single-pointer alternative

    Affected element

    <div class="author-bio"><p>Andy's musings about the creative process; writing, filmmaking, neuroscience and technology</p></div>
    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
  267. Draggable element must have a single-pointer alternative

    Affected element

    <p>Andy's musings about the creative process; writing, filmmaking, neuroscience and technology</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
  268. Draggable element must have a single-pointer alternative

    Affected element

    <div class="sidebar-tag-cloud"> <h4>Topics</h4> <div class="tag-cloud-list"> <a href="/tag/ai" class="tag"> ai </a> <a href="/tag/art" class="tag"> art </a> <a href="/tag/body" class="tag"> body </a> <a href="/tag/brain" class="tag"> brain </a> <a href="/tag/character" class="tag"> character </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
  269. Draggable element must have a single-pointer alternative

    Affected element

    <h4>Topics</h4>
    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
  270. Draggable element must have a single-pointer alternative

    Affected element

    <div class="tag-cloud-list"> <a href="/tag/ai" class="tag"> ai </a> <a href="/tag/art" class="tag"> art </a> <a href="/tag/body" class="tag"> body </a> <a href="/tag/brain" class="tag"> brain </a> <a href="/tag/character" class="tag"> character </a> <a href="/tag/craft" class="tag"> craft </a> <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
  271. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/ai" class="tag"> ai </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
  272. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/art" class="tag"> art </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
  273. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/body" class="tag"> body </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
  274. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/brain" class="tag"> brain </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
  275. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/character" class="tag"> character </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
  276. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/craft" class="tag"> craft </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
  277. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/creativity" class="tag"> creativity </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
  278. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/dadd" class="tag"> dadd </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
  279. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/darwin" class="tag"> darwin </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
  280. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/dev" class="tag"> dev </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
  281. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/dialogue" class="tag"> dialogue </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
  282. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/editing" class="tag"> editing </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
  283. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/esoteric" class="tag"> esoteric </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
  284. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/fantasy" class="tag"> fantasy </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
  285. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/film" class="tag"> film </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
  286. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/funding" class="tag"> funding </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
  287. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/games" class="tag"> games </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
  288. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/improving" class="tag"> Improving </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
  289. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/language" class="tag"> language </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
  290. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/legal" class="tag"> legal </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
  291. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/magic" class="tag"> magic </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
  292. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/meditation" class="tag"> meditation </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
  293. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/mimesis" class="tag"> mimesis </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
  294. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/mind" class="tag"> mind </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
  295. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/neuroscience" class="tag"> neuroscience </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
  296. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/novel" class="tag"> novel </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
  297. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/philosophy" class="tag"> philosophy </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
  298. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/politics" class="tag"> politics </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
  299. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/pratchett" class="tag"> pratchett </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
  300. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/production" class="tag"> production </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
  301. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/productivity" class="tag"> productivity </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
  302. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/publishing" class="tag"> publishing </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
  303. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/reading" class="tag"> reading </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
  304. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/sci-fi" class="tag"> sci-fi </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
  305. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/screenwriting" class="tag"> screenwriting </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
  306. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/sff" class="tag"> sff </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
  307. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/short" class="tag"> short </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
  308. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/subconscious" class="tag"> subconscious </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
  309. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/themes" class="tag"> themes </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
  310. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/thinking" class="tag"> thinking </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
  311. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/villains" class="tag"> villains </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
  312. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/world-building" class="tag"> world-building </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
  313. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/tag/writing" class="tag"> writing </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
  314. Draggable element must have a single-pointer alternative

    Affected element

    <div class="sidebar-blogroll"> <h4>Links</h4> <ul class="blogroll-list"> <li class="blogroll-item"> <a href="https://keepdigitalhuman.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/04/8389afab52acd7ab.png" alt="" class="blogroll-thumb"> <span class="blogroll-...
    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
  315. Draggable element must have a single-pointer alternative

    Affected element

    <h4>Links</h4>
    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
  316. Draggable element must have a single-pointer alternative

    Affected element

    <ul class="blogroll-list"> <li class="blogroll-item"> <a href="https://keepdigitalhuman.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/04/8389afab52acd7ab.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Keep Digital Human</span> <span class="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
  317. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://keepdigitalhuman.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/04/8389afab52acd7ab.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Keep Digital Human</span> <span class="sr-only">(opens in new windo...
    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
  318. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://keepdigitalhuman.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/04/8389afab52acd7ab.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Keep Digital Human</span> <span class="sr-only">(opens in new window)</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
  319. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/04/8389afab52acd7ab.png" alt="" class="blogroll-thumb">
    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
  320. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Keep Digital Human</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
  321. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  322. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">A website for creators to register their work.</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
  323. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://www.amazon.co.uk/dp/B0GLGSZZ3X" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/e73aa4884ba453dc.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">The Silly Shirt Manifesto</span> <span class="sr-only">(o...
    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
  324. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.amazon.co.uk/dp/B0GLGSZZ3X" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/e73aa4884ba453dc.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">The Silly Shirt Manifesto</span> <span class="sr-only">(opens in new window)</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
  325. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/e73aa4884ba453dc.jpg" alt="" class="blogroll-thumb">
    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
  326. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">The Silly Shirt Manifesto</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
  327. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  328. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">My little guide to writing SFF</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
  329. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://www.amazon.co.uk/dp/B0FYQBKCDM" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/1f630f67f813fe9a.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">Beyond Left and Right: Understanding the Political Circle...
    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
  330. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.amazon.co.uk/dp/B0FYQBKCDM" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/1f630f67f813fe9a.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">Beyond Left and Right: Understanding the Political Circle</span> <span class="sr-onl...
    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
  331. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/1f630f67f813fe9a.jpg" alt="" class="blogroll-thumb">
    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
  332. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Beyond Left and Right: Understanding the Political Circle</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
  333. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  334. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">A guide to the twelve political philosophies that shape our world</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
  335. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://apps.apple.com/gb/developer/manicgrin-media-ltd/id906528891" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/1691015d13d7b61d.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Download my apps!</span> <sp...
    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
  336. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://apps.apple.com/gb/developer/manicgrin-media-ltd/id906528891" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/1691015d13d7b61d.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Download my apps!</span> <span class="sr-only">(opens i...
    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
  337. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/1691015d13d7b61d.png" alt="" class="blogroll-thumb">
    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
  338. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Download my apps!</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
  339. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  340. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">I've made some crackers! Check 'em out!</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
  341. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://www.amazon.co.uk/dp/B0GMX4L8RZ?binding=kindle_edition&amp;ref=dbs_dp_sirpi" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/ac8c094b99f60b72.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Toki Suli</sp...
    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
  342. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.amazon.co.uk/dp/B0GMX4L8RZ?binding=kindle_edition&amp;ref=dbs_dp_sirpi" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/ac8c094b99f60b72.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Toki Suli</span> <span class="sr-only">(...
    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
  343. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/ac8c094b99f60b72.png" alt="" class="blogroll-thumb">
    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
  344. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Toki Suli</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
  345. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  346. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">A series of language books (and an app - see previous link) I'm working on based on the notion of learning slowly - one word a day.</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
  347. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://andycoughlan.com/infernal-creations" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/8b443692fce43363.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Infernal Creations</span> <span class="sr-only">(ope...
    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
  348. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://andycoughlan.com/infernal-creations" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/8b443692fce43363.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Infernal Creations</span> <span class="sr-only">(opens in new window)</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
  349. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/8b443692fce43363.png" alt="" class="blogroll-thumb">
    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
  350. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Infernal Creations</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
  351. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  352. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">My most recent short film starring Mark Benton and Admiral Piett</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
  353. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://wordmaze.fun" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/788293c89d1f36d3.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">WordMaze</span> <span class="sr-only">(opens in new window)</span> </a> <sp...
    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
  354. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://wordmaze.fun" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/788293c89d1f36d3.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">WordMaze</span> <span class="sr-only">(opens in new window)</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
  355. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/788293c89d1f36d3.png" alt="" class="blogroll-thumb">
    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
  356. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">WordMaze</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
  357. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  358. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">A fun wordsearch game wot I invented</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
  359. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://nokupuzzle.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/37eaa3882537546a.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Noku Puzzle</span> <span class="sr-only">(opens in new window)</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
  360. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://nokupuzzle.com" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/37eaa3882537546a.png" alt="" class="blogroll-thumb"> <span class="blogroll-name">Noku Puzzle</span> <span class="sr-only">(opens in new window)</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
  361. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/37eaa3882537546a.png" alt="" class="blogroll-thumb">
    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
  362. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">Noku Puzzle</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
  363. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  364. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">Another puzzle wot I invented</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
  365. Draggable element must have a single-pointer alternative

    Affected element

    <li class="blogroll-item"> <a href="https://www.amazon.co.uk/dp/B00BJ9B6DQ" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/381a08bf47531f1c.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">The Elementalist</span> <span class="sr-only">(opens in n...
    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
  366. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.amazon.co.uk/dp/B00BJ9B6DQ" target="_blank" rel="noopener"> <img src="https://andycoughlan.com/uploads/2026/02/381a08bf47531f1c.jpg" alt="" class="blogroll-thumb"> <span class="blogroll-name">The Elementalist</span> <span class="sr-only">(opens in new window)</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
  367. Draggable element must have a single-pointer alternative

    Affected element

    <img src="https://andycoughlan.com/uploads/2026/02/381a08bf47531f1c.jpg" alt="" class="blogroll-thumb">
    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
  368. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-name">The Elementalist</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
  369. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only">(opens in new window)</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
  370. Draggable element must have a single-pointer alternative

    Affected element

    <span class="blogroll-desc">My first fantasy novel (2007)</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
  371. Draggable element must have a single-pointer alternative

    Affected element

    <footer class="site-footer"> <p>© 2026 Andy Coughlan</p> <p class="footer-links"> <a href="/privacy">Privacy</a> <a href="/feed">RSS</a> <a href="https://x.com/andycoughlan" target="_blank" rel="noopener">X/Twitter<span class="sr-only"> (opens in new window)</span></a> <a href="https://instagram...
    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
  372. Draggable element must have a single-pointer alternative

    Affected element

    <p>© 2026 Andy Coughlan</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
  373. Draggable element must have a single-pointer alternative

    Affected element

    <p class="footer-links"> <a href="/privacy">Privacy</a> <a href="/feed">RSS</a> <a href="https://x.com/andycoughlan" target="_blank" rel="noopener">X/Twitter<span class="sr-only"> (opens in new window)</span></a> <a href="https://instagram.com/manicgrin" target="_blank" rel="noopener">Instagram<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
  374. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/privacy">Privacy</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
  375. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/feed">RSS</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
  376. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://x.com/andycoughlan" target="_blank" rel="noopener">X/Twitter<span class="sr-only"> (opens in new window)</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
  377. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only"> (opens in new window)</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
  378. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://instagram.com/manicgrin" target="_blank" rel="noopener">Instagram<span class="sr-only"> (opens in new window)</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
  379. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only"> (opens in new window)</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
  380. Draggable element must have a single-pointer alternative

    Affected element

    <a href="https://www.linkedin.com/in/andycoughlan/" target="_blank" rel="noopener">LinkedIn<span class="sr-only"> (opens in new window)</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
  381. Draggable element must have a single-pointer alternative

    Affected element

    <span class="sr-only"> (opens in new window)</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
  382. Draggable element must have a single-pointer alternative

    Affected element

    <div id="cookie-consent" class="cookie-consent"> <div class="cookie-consent-inner"> <p class="cookie-consent-text"> We use cookies to analyse site traffic. See our <a href="/privacy">privacy policy</a> for details. </p> <div class="cookie-consent-buttons"> <button type="button" class="btn btn-sec...
    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
  383. Draggable element must have a single-pointer alternative

    Affected element

    <div class="cookie-consent-inner"> <p class="cookie-consent-text"> We use cookies to analyse site traffic. See our <a href="/privacy">privacy policy</a> for details. </p> <div class="cookie-consent-buttons"> <button type="button" class="btn btn-secondary" id="cookie-decline">Decline</button> <but...
    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
  384. Draggable element must have a single-pointer alternative

    Affected element

    <p class="cookie-consent-text"> We use cookies to analyse site traffic. See our <a href="/privacy">privacy policy</a> for details. </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
  385. Draggable element must have a single-pointer alternative

    Affected element

    <a href="/privacy">privacy policy</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
  386. Draggable element must have a single-pointer alternative

    Affected element

    <div class="cookie-consent-buttons"> <button type="button" class="btn btn-secondary" id="cookie-decline">Decline</button> <button type="button" class="btn btn-primary" id="cookie-accept">Accept</button> </div>
    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
  387. Draggable element must have a single-pointer alternative

    Affected element

    <button type="button" class="btn btn-secondary" id="cookie-decline">Decline</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
  388. Draggable element must have a single-pointer alternative

    Affected element

    <button type="button" class="btn btn-primary" id="cookie-accept">Accept</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
  389. Draggable element must have a single-pointer alternative

    Affected element

    <script src="/js/app.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
  390. Field collecting email address is missing autocomplete="email"

    Affected element

    <input type="email" name="email" placeholder="your@email.com" required aria-required="true" aria-label="Email address">
    How to fix this
    • Add autocomplete="email" to this field
    • Autocomplete attributes allow browsers and password managers to pre-fill personal data
    • This is especially helpful for users with cognitive disabilities
    • See https://www.w3.org/TR/WCAG22/#input-purposes for the full list
  391. Field collecting full name is missing autocomplete="name"

    Affected element

    <input type="text" name="name" placeholder="Your name (optional)" aria-label="Your name">
    How to fix this
    • Add autocomplete="name" to this field
    • Autocomplete attributes allow browsers and password managers to pre-fill personal data
    • This is especially helpful for users with cognitive disabilities
    • See https://www.w3.org/TR/WCAG22/#input-purposes for the full list

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)