◆QA Engine
← All runs

https://artificialatheist.com

Export JSON
page started 2026-08-01 20:13 UTC · finished 2026-08-01 20:22 UTC · 20 pages · 525s scan · status done · #23d0906154de43fe876d442e0748df1b
15 distinct issues Grouped by rule across all scanned pages, worst severity first. Click the severity pills above to filter.
serious ux ux/lighthouse/performance 18 pages
Lighthouse Performance score: 0.48
Lighthouse category 'Performance' scored 0.48 (0-1 scale).
Affected pages (18)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.72",
    "evidence": {
      "category": "performance",
      "score": 0.72
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-concept-of-supervenience-when-one-level-rests-on-another/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.55",
    "evidence": {
      "category": "performance",
      "score": 0.55
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.56",
    "evidence": {
      "category": "performance",
      "score": 0.56
    }
  },
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.5",
    "evidence": {
      "category": "performance",
      "score": 0.5
    }
  },
  {
    "url": "https://artificialatheist.com/posts/religion-by-inheritance-how-birth-predicts-belief/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.71",
    "evidence": {
      "category": "performance",
      "score": 0.71
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-court-witness-truth-without-god/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.69",
    "evidence": {
      "category": "performance",
      "score": 0.69
    }
  },
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "serious",
    "title": "Lighthouse Performance score: 0.48",
    "evidence": {
      "category": "performance",
      "score": 0.48
    }
  },
  {
    "url": "https://artificialatheist.com/faq/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.65",
    "evidence": {
      "category": "performance",
      "score": 0.65
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-political-party-when-movements-organise/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.6",
    "evidence": {
      "category": "performance",
      "score": 0.6
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-nervous-system-of-c-elegans-actually-taught-us/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.6",
    "evidence": {
      "category": "performance",
      "score": 0.6
    }
  },
  {
    "url": "https://artificialatheist.com/search/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.59",
    "evidence": {
      "category": "performance",
      "score": 0.59
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-multiverse-hypothesis-actually-predicts/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.59",
    "evidence": {
      "category": "performance",
      "score": 0.59
    }
  },
  {
    "url": "https://artificialatheist.com/about/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.69",
    "evidence": {
      "category": "performance",
      "score": 0.69
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.63",
    "evidence": {
      "category": "performance",
      "score": 0.63
    }
  },
  {
    "url": "https://artificialatheist.com/topics/secularism/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.82",
    "evidence": {
      "category": "performance",
      "score": 0.82
    }
  },
  {
    "url": "https://artificialatheist.com/quiz/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.69",
    "evidence": {
      "category": "performance",
      "score": 0.69
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.85",
    "evidence": {
      "category": "performance",
      "score": 0.85
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "moderate",
    "title": "Lighthouse Performance score: 0.56",
    "evidence": {
      "category": "performance",
      "score": 0.56
    }
  }
]
serious wcag color-contrast 1 page
Elements must meet minimum color contrast ratio thresholds
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/quiz/",
    "severity": "serious",
    "title": "Elements must meet minimum color contrast ratio thresholds",
    "evidence": {
      "impact": "serious",
      "nodes": [
        {
          "selector": ".mt-4",
          "snippet": "<p class=\"mx-auto mt-4 max-w-md text-slate-500 dark:text-slate-400\">A quick quiz on the common misconceptions and false assumptions about atheism. Answer, get scored, and see the facts — then share yo"
        },
        {
          "selector": ".mt-6",
          "snippet": "<p class=\"mt-6 text-xs text-slate-500 dark:text-slate-400\">120<!-- --> questions · every answer comes with a sourced explanation</p>"
        }
      ],
      "node_count": 2,
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ]
    }
  }
]
serious wcag document-title 1 page
Documents must have <title> element to aid in navigation
Ensure each HTML document contains a non-empty <title> element https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "serious",
    "title": "Documents must have <title> element to aid in navigation",
    "evidence": {
      "impact": "serious",
      "nodes": [
        {
          "selector": "html",
          "snippet": "<html>"
        }
      ],
      "node_count": 1,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ]
    }
  }
]
serious wcag html-has-lang 1 page
<html> element must have a lang attribute
Ensure every HTML document has a lang attribute https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "serious",
    "title": "<html> element must have a lang attribute",
    "evidence": {
      "impact": "serious",
      "nodes": [
        {
          "selector": "html",
          "snippet": "<html>"
        }
      ],
      "node_count": 1,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ]
    }
  }
]
moderate security weak-csp 18 pages
Content-Security-Policy allows unsafe inline/eval
The CSP's script-src directive permits 'unsafe-inline' or 'unsafe-eval', which significantly weakens its XSS protection.
Affected pages (18)
  • / default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/the-concept-of-supervenience-when-one-level-rests-on-another/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /topics/religion/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/religion-by-inheritance-how-birth-predicts-belief/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/secularism-and-the-court-witness-truth-without-god/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /topics/news/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /faq/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/secularism-and-the-political-party-when-movements-organise/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/what-the-nervous-system-of-c-elegans-actually-taught-us/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /search/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/what-the-multiverse-hypothesis-actually-predicts/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /feed.xml default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /about/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /topics/science/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /topics/secularism/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /posts/the-afterlife-assumption-what-immortality-costs-moral-reason/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
  • /topics/philosophy/ default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-concept-of-supervenience-when-one-level-rests-on-another/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/religion-by-inheritance-how-birth-predicts-belief/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-court-witness-truth-without-god/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/faq/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-political-party-when-movements-organise/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-nervous-system-of-c-elegans-actually-taught-us/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/search/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-multiverse-hypothesis-actually-predicts/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/about/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/topics/secularism/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "moderate",
    "title": "Content-Security-Policy allows unsafe inline/eval",
    "evidence": {
      "header": "content-security-policy",
      "value": "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://www.googletagmanager.com https://*.google-analytics.com; connect-src 'self' https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'",
      "weak_directives": [
        "script-src"
      ]
    }
  }
]
moderate security security/misconfiguration 8 pages
Weak or missing Content-Security-Policy
The site lacks a strong CSP (or has an overly permissive one), which reduces defense-in-depth against XSS/injection if any content-rendering path (e.g., AI-generated post content, comment/search features) is later compromised. A blog with dynamically generated content and third-party embeds (Ko-fi) is a plausible injection surface. Recommend a strict CSP with script-src limited to self and required third-party hosts, no 'unsafe-inline'/'unsafe-eval', and object-src 'none'. Also add frame-ancestors to mitigate clickjacking, which compensates for missing X-Frame-Options if present.
Affected pages (8)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/",
    "severity": "moderate",
    "title": "Weak or missing Content-Security-Policy",
    "evidence": {
      "note": "CSP header reported weak/absent per triage; no header value provided for exact directive review"
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-court-witness-truth-without-god/",
    "severity": "moderate",
    "title": "Weak or overly permissive Content-Security-Policy",
    "evidence": {
      "note": "CSP directive scope not confirmed as restrictive; flagged from triage as weak/permissive"
    }
  },
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "moderate",
    "title": "Weak or missing Content-Security-Policy",
    "evidence": {
      "note": "CSP header reported as weak; no explicit frame-ancestors or script-src restriction confirmed"
    }
  },
  {
    "url": "https://artificialatheist.com/faq/",
    "severity": "moderate",
    "title": "Weak or ineffective Content-Security-Policy",
    "evidence": {
      "note": "CSP header present but insufficiently restrictive per triage; no compensating XSS-specific controls (e.g., strict-dynamic, nonce) observed in skeleton or headers"
    }
  },
  {
    "url": "https://artificialatheist.com/about/",
    "severity": "moderate",
    "title": "Weak or missing Content-Security-Policy",
    "evidence": {
      "note": "CSP header reported as weak/absent in triage; no policy content provided to verify directives like script-src or frame-ancestors."
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "moderate",
    "title": "Weak or permissive Content-Security-Policy",
    "evidence": {
      "note": "CSP flagged by triage as weak; no explicit header value provided for full analysis"
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "moderate",
    "title": "Weak or permissive Content-Security-Policy",
    "evidence": {
      "note": "CSP header flagged as weak during triage; no compensating strict directives (e.g., script-src 'self' with nonces) observed."
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "moderate",
    "title": "Weak or permissive Content-Security-Policy",
    "evidence": {
      "note": "CSP header present but permissive per triage flag; exact directive values not provided in evidence."
    }
  }
]
moderate wcag landmark-one-main 1 page
Document should have one main landmark
Ensure the document has a main landmark https://dequeuniversity.com/rules/axe/4.10/landmark-one-main?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "moderate",
    "title": "Document should have one main landmark",
    "evidence": {
      "impact": "moderate",
      "nodes": [
        {
          "selector": "html",
          "snippet": "<html>"
        }
      ],
      "node_count": 1,
      "tags": [
        "cat.semantics",
        "best-practice"
      ]
    }
  }
]
moderate wcag page-has-heading-one 1 page
Page should contain a level-one heading
Ensure that the page, or at least one of its frames contains a level-one heading https://dequeuniversity.com/rules/axe/4.10/page-has-heading-one?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "moderate",
    "title": "Page should contain a level-one heading",
    "evidence": {
      "impact": "moderate",
      "nodes": [
        {
          "selector": "html",
          "snippet": "<html>"
        }
      ],
      "node_count": 1,
      "tags": [
        "cat.semantics",
        "best-practice"
      ]
    }
  }
]
moderate wcag region 1 page
All page content should be contained by landmarks
Ensure all page content is contained by landmarks https://dequeuniversity.com/rules/axe/4.10/region?application=axeAPI
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "moderate",
    "title": "All page content should be contained by landmarks",
    "evidence": {
      "impact": "moderate",
      "nodes": [
        {
          "selector": "pre",
          "snippet": "<pre style=\"word-wrap: break-word; white-space: pre-wrap;\">"
        }
      ],
      "node_count": 1,
      "tags": [
        "cat.keyboard",
        "best-practice"
      ]
    }
  }
]
moderate wcag wcag/2.4.4 1 page
Article preview links lack distinguishing accessible text
Screen-reader users navigating by links list will hear only the article title link (e.g. 'What Machine-Authored Inquiry Can Be') repeated, since the truncated preview text and category label ('News') are not part of any link and the decorative icon is aria-hidden. This is not a hard link-purpose failure since the heading link text is descriptive, but the surrounding truncated body copy and category text are not exposed as part of the link and provide no additional affordance ('read more') to indicate more content exists. Low-vision or cognitive-disabled users may not realize the preview is truncated and that a full article exists beyond the visible snippet. Fix: add a visually-hidden 'Read more about [title]' or wrap the whole card in one link with an accessible name that includes context, and consider making truncation clearer (e.g. ellipsis plus a visible 'Continue reading' link).
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "moderate",
    "title": "Article preview links lack distinguishing accessible text",
    "evidence": {
      "selector": "article h2 a",
      "note": "heading link is descriptive but no explicit 'read more' cue tied to truncated text"
    }
  }
]
minor wcag wcag/1.1.1 6 pages
Decorative images correctly marked, but verify true decorative status
The article card images use alt="" which is appropriate if these images are purely decorative/illustrative and the adjacent heading link already conveys the article topic. Screen reader users are not blocked here since each card has a text link with the article title. However, if any of these images convey unique information not present in the surrounding text (e.g., an infographic or chart), empty alt would hide that content. Recommend confirming each image is truly decorative; if not, provide descriptive alt text.
Affected pages (6)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "minor",
    "title": "Decorative images correctly marked, but verify true decorative status",
    "evidence": {
      "selector": "article img[alt='']",
      "note": "Applies to ~20 article cards"
    }
  },
  {
    "url": "https://artificialatheist.com/posts/religion-by-inheritance-how-birth-predicts-belief/",
    "severity": "minor",
    "title": "Empty alt on related-article thumbnail may omit meaningful context",
    "evidence": {
      "selector": "article img[alt='']",
      "note": "related post thumbnail"
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "minor",
    "title": "Empty alt text on article teaser image likely acceptable but content-adjacent",
    "evidence": {
      "selector": "article img[alt='']",
      "note": "src=what-the-nervous-system-of-c-elegans-actually-taught-us.png"
    }
  },
  {
    "url": "https://artificialatheist.com/topics/secularism/",
    "severity": "minor",
    "title": "Empty alt on article preview thumbnail is likely acceptable",
    "evidence": {
      "selector": "img[src='secularism-and-the-court-witness-truth-without-god.png']",
      "note": "Redundant with adjacent h2 link text 'Secularism and the Court Witness: Truth Without God'"
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "minor",
    "title": "Empty alt text on related article thumbnail is acceptable but inconsistent",
    "evidence": {
      "selector": "article img[src='religion-by-inheritance-how-birth-predicts-belief.png']",
      "note": "alt=''; adjacent h2 a provides link text, so no name/role/value gap for AT users."
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "minor",
    "title": "Empty alt text on article thumbnail images is likely appropriate but unconfirmed",
    "evidence": {
      "selector": "article img[alt='']",
      "note": "Image sits beside an h2 link with the full article title, so redundant alt would be unnecessary; empty alt is the correct pattern here."
    }
  }
]
minor wcag wcag/4.1.2 1 page
Redundant duplicate links per article card lack distinguishing accessible name
Each article card appears to have both an h2 link and a separate icon link (aria-hidden icon) pointing to the same article. Keyboard and screen reader users may encounter duplicate tab stops for the same destination with no differentiation, adding navigation overhead. This is a minor efficiency issue (2.4.4/4.1.2) rather than a blocker since the aria-hidden icons are not exposed as separate links to AT, but if the icon element is itself a wrapped anchor, it should be hidden from the accessibility tree entirely or merged into a single link surrounding the whole card.
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "minor",
    "title": "Redundant duplicate links per article card lack distinguishing accessible name",
    "evidence": {
      "selector": "article h2 a, article i[aria-hidden]",
      "note": "Repeated pattern across cards"
    }
  }
]
info ux ux/lighthouse/accessibility 18 pages
Lighthouse Accessibility score: 1
Lighthouse category 'Accessibility' scored 1 (0-1 scale).
Affected pages (18)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-concept-of-supervenience-when-one-level-rests-on-another/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/religion-by-inheritance-how-birth-predicts-belief/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-court-witness-truth-without-god/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/faq/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-political-party-when-movements-organise/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-nervous-system-of-c-elegans-actually-taught-us/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/search/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-multiverse-hypothesis-actually-predicts/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/about/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/secularism/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/quiz/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "info",
    "title": "Lighthouse Accessibility score: 1",
    "evidence": {
      "category": "accessibility",
      "score": 1
    }
  }
]
info ux ux/lighthouse/best-practices 18 pages
Lighthouse Best Practices score: 1
Lighthouse category 'Best Practices' scored 1 (0-1 scale).
Affected pages (18)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-concept-of-supervenience-when-one-level-rests-on-another/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-gambler-s-fallacy-and-the-limits-of-intuitive-probabilit/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/religion/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/religion-by-inheritance-how-birth-predicts-belief/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-court-witness-truth-without-god/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/news/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/faq/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/secularism-and-the-political-party-when-movements-organise/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-nervous-system-of-c-elegans-actually-taught-us/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/search/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/what-the-multiverse-hypothesis-actually-predicts/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/about/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/science/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/secularism/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/quiz/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/posts/the-afterlife-assumption-what-immortality-costs-moral-reason/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  },
  {
    "url": "https://artificialatheist.com/topics/philosophy/",
    "severity": "info",
    "title": "Lighthouse Best Practices score: 1",
    "evidence": {
      "category": "best-practices",
      "score": 1
    }
  }
]
info ux ux/lighthouse-unavailable 1 page
Lighthouse unavailable
could not parse lighthouse output (rc=1): Unterminated string starting at: line 424 column 21 (char 65375). stderr: Runtime error encountered: The page provided is not HTML (served as MIME type text/plain).
Affected pages (1)
Raw evidence (JSON)
[
  {
    "url": "https://artificialatheist.com/feed.xml",
    "severity": "info",
    "title": "Lighthouse unavailable",
    "evidence": {}
  }
]