<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Human-centred</title>
<subtitle type="text">Thoughts and things on Front-end development and related topics, by Steve Barnett.</subtitle>
<generator uri="https://github.com/mojombo/jekyll">Jekyll</generator>
<link rel="self" type="application/atom+xml" href="http://human-centred.nz/feed.xml" />
<link rel="alternate" type="text/html" href="http://human-centred.nz" />
<updated>2026-07-28T19:21:40+00:00</updated>
<id>http://human-centred.nz/</id>
<author>
  <name>Steve Barnett</name>
  <uri>http://human-centred.nz/</uri>
  <email></email>
</author>


<entry>
  <title type="html"><![CDATA[How to get the most out of AI]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/07/27/how-to-get-the-most-out-of-ai/" />
  <id>http://human-centred.nz/2026/07/27/how-to-get-the-most-out-of-ai</id>
  <published>2026-07-27T00:00:00+00:00</published>
  <updated>2026-07-27T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;AI (in this case, meaning mostly LLMs like ChatGPT and Claude) is powerful and can be very useful! It’s great at transforming text, converting formats, generating code, and more.&lt;/p&gt;

&lt;p&gt;But/and there are ways to use it to get the most out of it. Knowing what it can do well and what it can’t do well lets us choose where, when, and how to use it. In particular, using AI can be worthwhile when verifying the output is quicker and easier than producing it ourselves.&lt;/p&gt;

&lt;h3 id=&quot;-ask-for-critical-review-rather-than-asking-for-approval&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧑‍🎓&lt;/span&gt; Ask for critical review, rather than asking for approval&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Be a student.&lt;/strong&gt; Ask AI to find holes, mistakes, and improvements in the work, rather than ask it if we’re right.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AI is fast at generating options, but less useful for confirmation. To varying degrees, it’s trained to tell us what we want to hear. Even if we suggest a bad idea, the AI can say it’s a good idea, and tell us we’re right.&lt;/li&gt;
  &lt;li&gt;This can be especially tricky for high-stakes and/or interpersonal topics!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;-treat-responses-as-a-possible-answer-rather-than-the-only-answer&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧑‍🔬&lt;/span&gt; Treat responses as a possible answer, rather than the only answer&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Be a scientist.&lt;/strong&gt; Use AI when we don’t need the same output for the same input.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AI output is probabilistic, non-deterministic: the same input won’t always give the same output. That’s useful for making variations, but it can mean trouble when we need precision or accuracy!&lt;/li&gt;
  &lt;li&gt;Sometimes plain old automation is all we need, so keep an eye out for that.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;️-check-the-details-rather-than-trusting-them&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🕵️&lt;/span&gt; Check the details, rather than trusting them&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Be a detective.&lt;/strong&gt; Don’t treat AI output as factual information: check everything it produces, in fine detail, for accuracy and consistency.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AI produces plausible text rather than facts. True things are often the most plausible, but not always!&lt;/li&gt;
  &lt;li&gt;This leads to “hallucinations”: confidently stating false information as true. In particular, AI tends to get specific facts wrong. There has been some progress on this, though.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;️-try-ai-in-the-loop-rather-than-human-in-the-loop&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧑‍⚕️&lt;/span&gt; Try “AI in the loop”, rather than “human in the loop”&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Be a surgeon!&lt;/strong&gt; Use AI precisely and accurately, use it where it’s strongest: reviewing, providing options, general rather than specific things. But/and start with the problem rather than AI as the solution. Do some of the work/thinking without AI first.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;When we start with AI as a solution, we look for problems that AI can solve. Doing the thinking ourselves first helps guard against cognitive atrophy and cognitive offloading.&lt;/li&gt;
  &lt;li&gt;AI makes it easier to jump to an answer rather than deeply considering the question and the process to get to the answer. The process is where we learn and make decisions. It’s where we’re challenged and apply active effort, critical thinking, and analysis.&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/07/27/how-to-get-the-most-out-of-ai/&quot;&gt;How to get the most out of AI&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on July 27, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Helping AI-written code be more accessible]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/07/15/helping-ai-written-code-be-more-accessible/" />
  <id>http://human-centred.nz/2026/07/15/helping-ai-written-code-be-more-accessible</id>
  <published>2026-07-15T00:00:00+00:00</published>
  <updated>2026-07-15T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Some quick notes of what engineers seem to be saying about accessibility and writing code with AI.&lt;/p&gt;

&lt;h2 id=&quot;things-people-are-doing-already&quot;&gt;Things people are doing already&lt;/h2&gt;

&lt;p&gt;Most teams are already doing a mix of these things: static analysis, unit tests, integration tests, end-to-end (e2e) tests, CI. Accessibility can be included in each of these.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Using an AI to &lt;strong&gt;write the code&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Static analysis&lt;/strong&gt; with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;eslint-plugin-jsx-a11y&lt;/code&gt; plugin&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Unit tests&lt;/strong&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jest-axe&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;I’ve seen most teams lean heavily here rather than further down the list. I have mostly been working with Design Systems teams, though.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Integration tests&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;e2e tests&lt;/strong&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@axe-core/playwright&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;getByRole&lt;/code&gt; with accessible name&lt;/li&gt;
      &lt;li&gt;using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;toHaveAttribute&lt;/code&gt; for ARIA states&lt;/li&gt;
      &lt;li&gt;I’ve seen teams using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;getByTestId&lt;/code&gt;, and Quality Engineers recommend this as the preferred way. The argument is something like: we want to avoid using DOM-related selection in tests so that they’re more resilient, and we don’t care about the implementation. That’s true for classes (that are used for presentation), but for accessibility tests we do care about the DOM, the implementation, the HTML and the ARIA attributes.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Using &lt;strong&gt;CI&lt;/strong&gt; to block a merge until all tests pass, including all the a11y tests above. That means failing tests return an error instead of a warning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some previous notes that cover some of these in a bit more detail: &lt;a href=&quot;/2025/02/24/design-systems-accessibility-testing/#dessert-the-accessibility-testing-trifle&quot;&gt;Dessert: The Accessibility Testing Trifle&lt;/a&gt;; &lt;a href=&quot;/2025/06/05/automated-accessibility-testing/&quot;&gt;Automated Accessibility Testing&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;things-that-look-new-to-me&quot;&gt;Things that look new to me&lt;/h2&gt;

&lt;h3 id=&quot;accessibility-flavoured-prompt-constraints&quot;&gt;Accessibility-flavoured prompt constraints&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Using a persistent context to guide the AI
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.cursorrules&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.github/copilot-instructions.md&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLAUDE.md&lt;/code&gt;
        &lt;ul&gt;
          &lt;li&gt;These point out to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SKILL.md&lt;/code&gt; files for specific tasks and framework usage&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;For accessibility these will be about semantic HTML, accessible names and attributes, keyboard interactions, testing patterns (as noted in the previous section)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Use libraries that are known to be accessible (see the next section for more on this)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;allowing-a11y-tests-failing-the-build-because-ai-produced-code&quot;&gt;Allowing a11y tests failing the build “because AI-produced code”&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;For many years, it’s been fairly common for some teams to argue that accessibility-related tests shouldn’t fail the build. Other tests do, but these should somehow be exempt.&lt;/li&gt;
  &lt;li&gt;As a short-term measure, for a team that’s working on a large backlog of issues, this could be workable. Although it would be better to add tests slowly and fix things as we go.&lt;/li&gt;
  &lt;li&gt;Now it seem like more teams are willing to admit that AI-generated code is likely to be inaccessible, and we want to be sure we catch any issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;how-to-get-the-most-accessibility-out-of-a-library-or-a-design-system&quot;&gt;How to get the most (accessibility) out of a library (or a design system)&lt;/h2&gt;

&lt;p&gt;I think the best way to get the most accessibility out of a library is similar to &lt;a href=&quot;/2022/05/25/how-to-get-the-most-(accessibility)-out-of-a-design-system/&quot;&gt;how to get the most (accessibility) out of a design system&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Use the right components in the right place, following good documentation&lt;/li&gt;
  &lt;li&gt;Run tests to check for any error or omissions we’ve made, or the library (or design system) has made&lt;/li&gt;
  &lt;li&gt;Give feedback on the components, using the components, and the documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here, the decision of which component to use might be by the human, or it might be from the AI reading the docs. It might start even earlier, with the designer labelled something a specific way in the design.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;See also&lt;/h2&gt;

&lt;p&gt;Eric Bailey wrote an excellent, thoughtful, piece: &lt;a href=&quot;https://github.blog/ai-and-ml/github-copilot/building-a-general-purpose-accessibility-agent-and-what-we-learned-in-the-process/&quot;&gt;Building a general-purpose accessibility agent—and what we learned in the process&lt;/a&gt; on the GitHub blog. My bullets from that, relevant to this:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Vague SKILL files aren’t enough. Use your own detailed data of issues and fixes.&lt;/li&gt;
  &lt;li&gt;Don’t use it for complex code or high-risk patterns
    &lt;ul&gt;
      &lt;li&gt;Refer to a human instead&lt;/li&gt;
      &lt;li&gt;Watch for AI’s tendency to prefer providing a solution&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/07/15/helping-ai-written-code-be-more-accessible/&quot;&gt;Helping AI-written code be more accessible&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on July 15, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Screen reader testing workshop for WWAM]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/07/12/screen-reader-testing-workshop-for-wwam/" />
  <id>http://human-centred.nz/2026/07/12/screen-reader-testing-workshop-for-wwam</id>
  <published>2026-07-12T00:00:00+00:00</published>
  <updated>2026-07-12T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Hi, folks at the Wellington Web Accessibility Meetup! 👋&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Short URL for this page: &lt;a href=&quot;https://bit.ly/wwam20260723&quot;&gt;bit.ly/wwam20260723&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.google.com/document/d/1HZ-Mvry-3n74PpdXLJFfnTFP9EoorhGcMs6eBqzpP5g/edit?usp=sharing&quot;&gt;Google doc handout&lt;/a&gt; with keyboard shortcuts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;span aria-hidden=&quot;true&quot;&gt;☝️&lt;/span&gt; Before we begin (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;details&gt;
    &lt;summary&gt;We&apos;ll focus on free, laptop, screen readers&lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;Laptop/Desktop screen readers
        &lt;ul&gt;
          &lt;li&gt;On Windows, we recommend NVDA (it’s a bit more mature than Narrator)&lt;/li&gt;
          &lt;li&gt;Narrator comes bundled with Windows&lt;/li&gt;
          &lt;li&gt;VoiceOver (VO) comes bundled with macOS&lt;/li&gt;
          &lt;li&gt;JAWS (Windows only) is also good but expensive&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;For quite a lot of testing, especially simpler components, we usually find the same issues whichever SR we’re testing with&lt;/strong&gt;
        &lt;ul&gt;
          &lt;li&gt;The jump from testing with zero screen readers to one is much bigger than the jump from one to two (or three).&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;No mobile testing today (VO on iOS, TalkBack on Android)
        &lt;ul&gt;
          &lt;li&gt;Laptops a bit better to huddle around in a group&lt;/li&gt;
          &lt;li&gt;Tricky to do both since they’re so different&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;We&apos;re just covering &lt;em&gt;getting started&lt;/em&gt;&lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;This session is short, so it can only be a taste test&lt;/li&gt;
      &lt;li&gt;Many of the problems occur with the building blocks of the web (headings, images, links, and buttons) so there’s value in testing there&lt;/li&gt;
      &lt;li&gt;There’s loads more to explore and learn if you’re interested! Including: changing the voice, the speech rate, the verbosity, and more.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Test a fairly familiar page&lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;Something you use often&lt;/li&gt;
      &lt;li&gt;Something from work!&lt;/li&gt;
      &lt;li&gt;Google your favourite fruit or animal (hint: it should be &lt;strong&gt;capybara&lt;/strong&gt;), then follow one of the search results&lt;/li&gt;
      &lt;li&gt;Use some of the WebAIM practice pages: look for “examples and practice” links on &lt;a href=&quot;https://webaim.org/articles/nvda/&quot;&gt;Using NVDA to Evaluate Web Accessibility&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Use popular browser-and-SR combinations&lt;/summary&gt;
&lt;div&gt;
    &lt;p&gt;Although you can use any browser, these generally give best results:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;NVDA with Firefox&lt;/li&gt;
      &lt;li&gt;Narrator with Edge (the OS defaults)&lt;/li&gt;
      &lt;li&gt;VoiceOver with Safari (the OS defaults).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;Do some gentle group discussion&lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;After each section, we’ll go around the room and ask each group to share a few sentences about how they went&lt;/li&gt;
      &lt;li&gt;Nothing formal, no need to stand up or prepare anything&lt;/li&gt;
      &lt;li&gt;So that we share the love around the room a bit&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;h2&gt;Agenda&lt;/h2&gt;

&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#️-intro-what-does-good-sound-like-️5m&quot; id=&quot;markdown-toc-️-intro-what-does-good-sound-like-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;✔️&lt;/span&gt; Intro: What does good sound like? (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-demo-onoff-nextprevious-shh-️5m&quot; id=&quot;markdown-toc--demo-onoff-nextprevious-shh-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt; Demo: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#once-off-set-up-️5m&quot; id=&quot;markdown-toc-once-off-set-up-️5m&quot;&gt;Once-off set up (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;#with-nvda-on&quot; id=&quot;markdown-toc-with-nvda-on&quot;&gt;With NVDA on&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#with-narrator-on&quot; id=&quot;markdown-toc-with-narrator-on&quot;&gt;With Narrator on&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#voiceover&quot; id=&quot;markdown-toc-voiceover&quot;&gt;VoiceOver&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#️-practice-onoff-nextprevious-shh-️5m&quot; id=&quot;markdown-toc-️-practice-onoff-nextprevious-shh-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-discussion-onoff-nextprevious-shh-️10m&quot; id=&quot;markdown-toc--discussion-onoff-nextprevious-shh-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-theory-were-testers-not-users-️5m&quot; id=&quot;markdown-toc--theory-were-testers-not-users-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧠&lt;/span&gt; Theory: we’re testers, not users (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#️-practice-headings-images-links-️15m&quot; id=&quot;markdown-toc-️-practice-headings-images-links-️15m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: headings, images, links! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;15m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-discussion-headings-images-links-️10m&quot; id=&quot;markdown-toc--discussion-headings-images-links-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: headings, images, links! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-theory-the-two-modes-of-srs-️5m&quot; id=&quot;markdown-toc--theory-the-two-modes-of-srs-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧠&lt;/span&gt; Theory: the two modes of SRs (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#️-practice-form-and-function-️15m&quot; id=&quot;markdown-toc-️-practice-form-and-function-️15m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: form and function (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;15m)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#-aside-listing-things-️5m&quot; id=&quot;markdown-toc--aside-listing-things-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📋&lt;/span&gt; Aside: listing things (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-discussion-form-and-function-️10m&quot; id=&quot;markdown-toc--discussion-form-and-function-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: form and function (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#-get-help-️5m&quot; id=&quot;markdown-toc--get-help-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🛟&lt;/span&gt; Get help! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;️-intro-what-does-good-sound-like-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;✔️&lt;/span&gt; Intro: What does good sound like? (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;p&gt;Broadly speaking: &lt;strong&gt;it should sound the same as it looks&lt;/strong&gt;.&lt;/p&gt;

&lt;details&gt;
    &lt;summary&gt;&lt;strong&gt;Names and roles are announced&lt;/strong&gt; &lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt;&lt;/summary&gt;
    &lt;p&gt;For example: &quot;button, save&quot;; &quot;contact us, link&quot;.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;&lt;strong&gt;States, properties, and values are announced&lt;/strong&gt; &lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt;&lt;/summary&gt;
    &lt;p&gt;For example: an expanded state on an accordion, the text in a text field&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
    &lt;summary&gt;&lt;strong&gt;Groupings and landmarks are announced&lt;/strong&gt; &lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt;&lt;/summary&gt;
    &lt;p&gt;For example: a group of radio buttons; the main navigation.&lt;/p&gt;
&lt;/details&gt;

&lt;h2 id=&quot;-demo-onoff-nextprevious-shh-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt; Demo: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Mute your sound, or press &lt;kbd&gt;Ctrl&lt;/kbd&gt; to pause the speech.&lt;/li&gt;
  &lt;li&gt;Or, turn it off entirely!&lt;/li&gt;
&lt;/ul&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Start screen reader&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Alt&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;N&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Windows&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Ctrl&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Cmd&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F5&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Stop speech&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt; (or &lt;kbd&gt;Mute&lt;/kbd&gt;!)&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt; (or &lt;kbd&gt;Mute&lt;/kbd&gt;!)&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt; (or &lt;kbd&gt;Mute&lt;/kbd&gt;!)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;→&lt;/kbd&gt; (Quick Nav)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↑&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↑&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;←&lt;/kbd&gt; (Quick Nav)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Turn off screen reader&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Q&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Windows&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Ctrl&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Cmd&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F5&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;once-off-set-up-️5m&quot;&gt;Once-off set up (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h3&gt;

&lt;p&gt;There are a few things we can do to make testing easier. You will thank yourself later!&lt;/p&gt;

&lt;h4 id=&quot;with-nvda-on&quot;&gt;With NVDA on&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Update the NVDA key.&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Preferences&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Settings&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Keyboard&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Select NVDA Modifier Key(s)&lt;/code&gt;. Set &lt;kbd&gt;Caps Lock&lt;/kbd&gt; as the NVDA key.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Turn on Highlighting.&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Preferences&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Vision&lt;/code&gt;, check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enable Highlighting&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Turn on Speech Viewer.&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tools&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Speech Viewer&lt;/code&gt;: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Open the Speech Viewer&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;with-narrator-on&quot;&gt;With Narrator on&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Show the speech viewer (patchy!).&lt;/strong&gt; &lt;kbd&gt;Caps Lock&lt;/kbd&gt; + &lt;kbd&gt;Alt&lt;/kbd&gt; + &lt;kbd&gt;x&lt;/kbd&gt; (Live Transcription)&lt;/p&gt;

&lt;h4 id=&quot;voiceover&quot;&gt;VoiceOver&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Make sure the keyboard works as expected.&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;System Settings&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Keyboard&lt;/code&gt; item, toggle &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Keyboard navigation&lt;/code&gt; on&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Safari&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Settings&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced&lt;/code&gt; tab &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Accessibility&lt;/code&gt; item, check “Press Tab to highlight each item on a web page”&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Turn on VO Quick Nav.&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VoiceOver Utility&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Commands&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Quick Nav&lt;/code&gt; (QN), check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Arrow-key Quick Nav&lt;/code&gt; and check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Single-key Quick Nav&lt;/code&gt;. (This makes VO behave more like other screen readers by letting us omit &lt;kbd&gt;VO keys&lt;/kbd&gt; (&lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;Opt&lt;/kbd&gt;) or &lt;kbd&gt;VO keys&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; in almost all cases)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Turn on the caption panel.&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VoiceOver Utility&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Visuals&lt;/code&gt;: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Show caption panel&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;️-practice-onoff-nextprevious-shh-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h3&gt;

&lt;p&gt;Now you try!&lt;/p&gt;

&lt;h2 id=&quot;-discussion-onoff-nextprevious-shh-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: on/off, next/previous, shh! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/h2&gt;

&lt;p&gt;We’ll do a quick go around the room. Pick one or two of these and give us a few sentences.
&lt;span aria-hidden=&quot;true&quot;&gt;🛜&lt;/span&gt; If you’re watching this online, throw your answers in the chat!&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How was that?&lt;/li&gt;
  &lt;li&gt;Where did you get stuck? (and how did you get unstuck?!)&lt;/li&gt;
  &lt;li&gt;What was unexpected?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-theory-were-testers-not-users-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧠&lt;/span&gt; Theory: we’re testers, not users (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;details&gt;
    &lt;summary&gt;&lt;strong&gt;Don&apos;t worry about trying to have an &quot;authentic&quot; experience. That&apos;s not really possible!&lt;/strong&gt; &lt;span aria-hidden=&quot;true&quot;&gt;💁&lt;/span&gt;&lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;If you don’t use a screen reader (SR) every day, your experience won’t be the same as someone who does.&lt;/li&gt;
      &lt;li&gt;How people use their screen reader can vary wildly from one person to the next. Like many human things!&lt;/li&gt;
      &lt;li&gt;You can choose not to use it, some everyday users can’t.&lt;/li&gt;
      &lt;li&gt;To find out about an “authentic” experience, we can do usability testing with everyday users!&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;&lt;strong&gt;What we’re trying to do is to find barriers that someone who uses a SR every day might encounter&lt;/strong&gt;&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;That we can do, and we can compare what it looks like and what it sounds like.&lt;/li&gt;
      &lt;li&gt;It’s not “cheating” to use your mouse, to have the voice rate slow, or to avoid the screen curtain!&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;h2 id=&quot;️-practice-headings-images-links-️15m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: headings, images, links! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;15m)&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver (QN)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next heading&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next heading at level 1-6&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;1&lt;/kbd&gt;-&lt;kbd&gt;6&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;1&lt;/kbd&gt;-&lt;kbd&gt;6&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;1&lt;/kbd&gt;-&lt;kbd&gt;6&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next image (graphic)&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next link&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;k&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;k&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;l&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next landmark&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;d&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;d&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous [thing]&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;-discussion-headings-images-links-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: headings, images, links! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/h2&gt;

&lt;p&gt;We’ll do a quick go around the room. Pick one or two of these and give us a few sentences.
&lt;span aria-hidden=&quot;true&quot;&gt;🛜&lt;/span&gt; If you’re watching this online, throw your answers in the chat!&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How was navigating around with the shortcuts?&lt;/li&gt;
  &lt;li&gt;How are the headings on the page? Good structure? Should be a heading / shouldn’t be a heading bits of text?&lt;/li&gt;
  &lt;li&gt;How were the text alternatives?&lt;/li&gt;
  &lt;li&gt;Any “Click here” or “Read more” or other links with confusing link text?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;-theory-the-two-modes-of-srs-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧠&lt;/span&gt; Theory: the two modes of SRs (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;p&gt;Screen readers have two modes: &lt;strong&gt;Browse mode&lt;/strong&gt; (which Narrator calls Scan Mode) and &lt;strong&gt;Forms mode&lt;/strong&gt;. One way to think about the difference is the keyboard interactions for desktop screen readers.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In Browse mode, keystrokes perform reading and navigation actions by the screen reader.&lt;/li&gt;
  &lt;li&gt;In Forms mode, keystrokes perform data entry actions by the browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Screen readers generally change modes automatically. For example: when tabbing into a form field. You can also change modes manually.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Change mode&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Space Bar&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Space Bar&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;️-practice-form-and-function-️15m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🗣️&lt;/span&gt; Practice: form and function (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;15m)&lt;/h2&gt;

&lt;p&gt;Test some interactive elements, especially help text and errors. Tab through the page, or jump to the next form element.&lt;/p&gt;

&lt;p&gt;Remember our “What does good sound like?” from earlier:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Names and roles are announced&lt;/li&gt;
  &lt;li&gt;States, properties, and values are announced&lt;/li&gt;
  &lt;li&gt;Groupings and landmarks are announced&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A new one for here: help text and error text is announced when a field gets focus.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver (QN)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next interactive element&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next form element&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;f&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;f&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;j&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next text field&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;e&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;e&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next button&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;b&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;b&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;b&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous [thing]&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;[thing key]&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;-aside-listing-things-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📋&lt;/span&gt; Aside: listing things (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h3&gt;

&lt;p&gt;NVDA and VO both let you list stuff: all the links, buttons, headings, and so on. In usability testing we don’t tend to see people using these often. These lists can be helpful to us testers though!&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver (Rotor)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;List element&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F7&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO keys&lt;/kbd&gt;&lt;br /&gt;( &lt;kbd&gt;Ctrl&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;Opt&lt;/kbd&gt; ) +&lt;br /&gt; &lt;kbd&gt;u&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;List all landmarks&lt;/td&gt;
      &lt;td&gt;Available in Elements list&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F5&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Available in Rotor&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;List all headings&lt;/td&gt;
      &lt;td&gt;Available in Elements list&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F6&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Available in Rotor&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;List all links&lt;/td&gt;
      &lt;td&gt;Available in Elements list&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; +&lt;br /&gt; &lt;kbd&gt;F7&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Available in Rotor&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;-discussion-form-and-function-️10m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤓&lt;/span&gt; Discussion: form and function (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;10m)&lt;/h2&gt;

&lt;p&gt;We’ll do a quick go around the room. Pick one or two of these and give us a few sentences.
&lt;span aria-hidden=&quot;true&quot;&gt;🛜&lt;/span&gt; If you’re watching this online, throw your answers in the chat!&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;What went well?&lt;/li&gt;
  &lt;li&gt;What went weird?&lt;/li&gt;
  &lt;li&gt;What did you learn?&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;boxout&quot;&gt;
And the big question: &lt;strong&gt;what will you do next?&lt;/strong&gt;
&lt;/div&gt;

&lt;h2 id=&quot;-get-help-️5m&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🛟&lt;/span&gt; Get help! (&lt;span aria-hidden=&quot;true&quot;&gt;⏱️&lt;/span&gt;5m)&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/survival-guide&quot;&gt;Desktop Screen Readers Survival Guide - Basic Keyboard Shortcuts at Deque&lt;/a&gt; (Shortcut Keys for JAWS, NVDA, Narrator, VoiceOver)&lt;/li&gt;
  &lt;li&gt;NVDA
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts&quot;&gt;NVDA Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/articles/nvda/&quot;&gt;Using NVDA to Evaluate Web Accessibility&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/resources/shortcuts/nvda&quot;&gt;Keyboard Shortcuts for NVDA at WebAIM&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Narrator
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/narrator-keyboard-shortcuts&quot;&gt;Narrator Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;VoiceOver
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts&quot;&gt;VoiceOver Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/articles/voiceover/&quot;&gt;Using VoiceOver to Evaluate Web Accessibility&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/07/12/screen-reader-testing-workshop-for-wwam/&quot;&gt;Screen reader testing workshop for WWAM&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on July 12, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Severity and WCAG vs best practice]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/07/08/wcag-best-practice-and-severity/" />
  <id>http://human-centred.nz/2026/07/08/wcag-best-practice-and-severity</id>
  <published>2026-07-08T00:00:00+00:00</published>
  <updated>2026-07-08T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Notes for a session at the &lt;a href=&quot;https://wellingtonuni-professional.nz/course/digital-accessibility-discussion-group/&quot;&gt;Digital Accessibility Discussion Group&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Designed to help answer: &lt;strong&gt;“I’ve found an accessibility issue. How serious is it?”&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;We can use severity levels and &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?currentsidebar=%23col_overview&amp;amp;technologies=smil%2Cpdf%2Cflash%2Csl&amp;amp;showtechniques=123%2C242&quot;&gt;WCAG&lt;/a&gt; or best practice (BP) to decide this. One reason we want to be able to consistently assign the appropriate level of seriousness to an issue is to build trust with the teams doing the work. We want them to be able to believe us when we say something is High severity.&lt;/li&gt;
  &lt;li&gt;Every issue is important. But when everything is urgent, nothing is urgent. Getting the seriousness of an issue right helps the team fix the things that have the most impact first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;severity&quot;&gt;Severity&lt;/h2&gt;

&lt;p&gt;WCAG only has pass or fail; it does not have a severity rating. A fail of any WCAG success criteria means a page is not conformant. If we’re aiming for conformance, we have to fix every issue.&lt;/p&gt;

&lt;p&gt;However, almost every tool or company that assesses using WCAG will also include a severity or priority rating. The severity of an issue is about the user impact, not just the technical compliance or failure. The problem that the user, the human being, encounters. Here’s one version.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Critical&lt;/strong&gt;: the issue stops users from accessing content or completing a task. It does not have a workaround.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;High&lt;/strong&gt;: the issue causes serious problems or major inconvenience to users. It has a workaround but it is difficult and not obvious.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Medium&lt;/strong&gt;: the issue causes problems or frustrations for users. It has a workaround.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Low&lt;/strong&gt;: the issue causes inconvenience or irritation to users. It may not need a workaround.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;deciding-on-the-severity-level&quot;&gt;Deciding on the severity level&lt;/h3&gt;

&lt;p&gt;Severity is inherently subjective and contextual. Some things to consider:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;who is impacted (for example: everyone, keyboard users, screen reader user)&lt;/li&gt;
  &lt;li&gt;how they are impacted (the barriers, problems, inconveniences, frustrations, irritations)&lt;/li&gt;
  &lt;li&gt;where they can’t get to or what they can’t do&lt;/li&gt;
  &lt;li&gt;how far from the ideal or the standard that the implementation strays&lt;/li&gt;
  &lt;li&gt;what workarounds they can do.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;process-for-deciding-severity&quot;&gt;Process for deciding Severity&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Is the issue Critical?&lt;/strong&gt; Does it stop a user from completing a task? Is this the only way a user could do a task? If there are multiple ways to complete the task, and only this one is inaccessible, the issue is High instead of Critical.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Is the issue High, Medium, or Low?&lt;/strong&gt; How serious is the problem? How difficult is it to complete the task compared to how easy it is if we fix the problem?&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;severity-examples&quot;&gt;Severity examples&lt;/h3&gt;

&lt;p&gt;These are just a guide: the actual severity depends on context and implementation. For example: it’s quite common to have a contrast-related issue at Low severity when the ratio is quite close to the WCAG required ratio.&lt;/p&gt;

&lt;h4 id=&quot;critical&quot;&gt;Critical&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;The issue stops users from accessing content or completing a task. It does not have a workaround.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;Functionality is not available from the keyboard. 2.1.1 Keyboard (A)
    &lt;ul&gt;
      &lt;li&gt;People who use only a keyboard (or similar input like a switch or voice control) cannot use this functionality at all&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Functionality breaks or content not available when zoom is increased. 1.4.10 Reflow (AA)
    &lt;ul&gt;
      &lt;li&gt;People with low vision who have to zoom the page to use it will not be able to use the page or access the content&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/WCAG20/#cc5&quot;&gt;Conformance Requirement 5: Non-Interference&lt;/a&gt;. Failing any these SC means a page does not conform since it could mean a person can’t use the page:
    &lt;ul&gt;
      &lt;li&gt;1.4.2 Audio Control (A)
        &lt;ul&gt;
          &lt;li&gt;People using a screen reader won’t be able to use the page as the audio interferes with the speech output&lt;/li&gt;
          &lt;li&gt;People will find the auto-playing content distracting, making it hard to focus on the rest of the page&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;2.1.2 No Keyboard Trap (A)
        &lt;ul&gt;
          &lt;li&gt;People who use only a keyboard can only exit the trap by reloading the page and starting their task from scratch&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;2.2.2 Pause, Stop, Hide  (A)
        &lt;ul&gt;
          &lt;li&gt;People using a screen reader won’t be able to use the page as the accompanying audio interferes with the speech output&lt;/li&gt;
          &lt;li&gt;People with a vestibular disorder may feel dizzy or nauseous&lt;/li&gt;
          &lt;li&gt;People will find the auto-playing video content distracting, making it hard to focus on the rest of the page&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;2.3.1 Three Flashes or Below Threshold (A)
        &lt;ul&gt;
          &lt;li&gt;People may feel dizzy or nauseous, or have a seizure triggered&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;high&quot;&gt;High&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;The issue causes serious problems or major inconvenience to users. It has a workaround but it is difficult and not obvious.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;1.1.1 Non-text Content (A)
    &lt;ul&gt;
      &lt;li&gt;Screen reader users will miss out on the information that the image conveys to other users&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;1.3.1 Info and Relationships (A)
    &lt;ul&gt;
      &lt;li&gt;Screen reader users will miss out on the information or relationships that are available to other users, such as grouping or listing&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;1.4.10 Reflow (AA)
    &lt;ul&gt;
      &lt;li&gt;People with low vision who zoom in, and people on small screens, are forced to scroll in two directions, making the content hard or impossible to read&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;2.4.3 Focus Order (A)
    &lt;ul&gt;
      &lt;li&gt;Screen reader users may miss information or find the ordering of interface confusing&lt;/li&gt;
      &lt;li&gt;People who only use a keyboard may be frustrated by the extra effort required to complete the task&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;2.4.7 Focus Visible (AA)
    &lt;ul&gt;
      &lt;li&gt;People who use the keyboard cannot tell what has focus. They may activate the wrong element or lose their place, and have to spend extra effort to complete the task.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;2.5.3 Label in Name (A)
    &lt;ul&gt;
      &lt;li&gt;Speech recognition software users might not be able to directly access the element&lt;/li&gt;
      &lt;li&gt;Sighted screen reader users may be confused by mismatched speech and visuals&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;4.1.2 Name, Role, Value (A)
    &lt;ul&gt;
      &lt;li&gt;Screen reader users won’t know the link’s destination, the button’s action, or what to enter in the form field&lt;/li&gt;
      &lt;li&gt;Speech recognition software users won’t be able to directly activate the element&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;medium&quot;&gt;Medium&lt;/h4&gt;

&lt;blockquote&gt;
  &lt;p&gt;The issue causes problems or frustrations for users. It has a workaround.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
  &lt;li&gt;1.3.1 Info and Relationships (A)
    &lt;ul&gt;
      &lt;li&gt;The information or relationship that isn’t conveyed is minor or can be worked out from context, so people can still complete the task with some extra effort.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;1.4.1 Use of Colour (A)
    &lt;ul&gt;
      &lt;li&gt;When only colour is used, people with colour perception differences may not see the change in state or meaning&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;1.4.3 Contrast (Minimum) (AA) and 1.4.11 Non-text Contrast (AA)
    &lt;ul&gt;
      &lt;li&gt;People with low vision, colour blindness, or older adults may find it difficult to read or distinguish text or UI elements from surrounding colours&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;2.4.2 Page Titled (A)
    &lt;ul&gt;
      &lt;li&gt;If the title is missing, it’s harder to find the tab again&lt;/li&gt;
      &lt;li&gt;If the title is not clear, it’s harder to understand the topic or purpose of the page&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;2.5.8 Target Size (Minimum) (AA)
    &lt;ul&gt;
      &lt;li&gt;People, including those with limited dexterity or hand tremors, can miss the target or hit the wrong one&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Best practice: no &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; element
    &lt;ul&gt;
      &lt;li&gt;Screen reader users can’t use the main heading to confirm the purpose of the page, or as a way to jump to the main content&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;wcag-or-best-practice&quot;&gt;WCAG or best practice?&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;When doing an accessibility audit/assessment/review we log WCAG failures and accessibility problems that WCAG does not cover. These are generally called best practice (BP).
    &lt;ul&gt;
      &lt;li&gt;BP can mean different things in different contexts. Here we mean anything outside of our local baseline. For most places, the baseline is WCAG 2.2 AA. That means the following are BP:
        &lt;ul&gt;
          &lt;li&gt;Anything at Level AAA&lt;/li&gt;
          &lt;li&gt;Anything not covered by a WCAG SC&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;A WCAG issue needs to make clear the connection to the Success Criteria (SC).&lt;/li&gt;
  &lt;li&gt;Some things that are currently considered BP are being worked into WCAG 3.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;wcag-and-bp-example-new-tab&quot;&gt;WCAG and BP example: new tab&lt;/h3&gt;

&lt;p&gt;The following is a BP issue: links that opens in a new tab without warning. There’s no WCAG SC that addresses this, but it’s not good practice. We recommend adding text “opens in a new tab” or an icon with a text alternative.&lt;/p&gt;

&lt;p&gt;But! The following is a WCAG issue: links that have an “opens in a new tab” icon without a text alternative. That fails 1.1.1 Non-text Content (A).&lt;/p&gt;

&lt;h3 id=&quot;wcag-and-bp-examples-headings&quot;&gt;WCAG and BP examples: headings&lt;/h3&gt;

&lt;p&gt;The following are WCAG issues:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Text that looks like a heading but isn’t marked up as one. 1.3.1 Info and Relationships (A)&lt;/li&gt;
  &lt;li&gt;Text that is marked up as a heading but isn’t one. 1.3.1 Info and Relationships (A)&lt;/li&gt;
  &lt;li&gt;Heading order that does not match the structure (usually seen as headings going up instead of down). 1.3.1 Info and Relationships (A)&lt;/li&gt;
  &lt;li&gt;Heading text that isn’t descriptive. 2.4.6 Headings and Labels (AA).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But! The following are BP:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;No headings are present (falls under 2.4.10 Section Headings (AAA))&lt;/li&gt;
  &lt;li&gt;There’s no &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; element&lt;/li&gt;
  &lt;li&gt;There’s more than one &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; element&lt;/li&gt;
  &lt;li&gt;Heading levels are skipped (E.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h3&amp;gt;&lt;/code&gt;, then &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h4&amp;gt;&lt;/code&gt;, missing the expected &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h2&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;prioritisation&quot;&gt;Prioritisation&lt;/h2&gt;

&lt;p&gt;The severity level and the WCAG/BP classification are two aspects of prioritisation. Other aspects might be:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;how many users the issue affects (for example by role: user, admin, super-admin)&lt;/li&gt;
  &lt;li&gt;the user journey (for example: the main user flow, or an occasional or side flow)&lt;/li&gt;
  &lt;li&gt;importance to business goals&lt;/li&gt;
  &lt;li&gt;effort to fix&lt;/li&gt;
  &lt;li&gt;lots of other things!&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/07/08/wcag-best-practice-and-severity/&quot;&gt;Severity and WCAG vs best practice&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on July 08, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Notes for a more social 'Screen reader testing workshop']]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/06/20/notes-for-a-more-social-screen-reader-testing-workshop/" />
  <id>http://human-centred.nz/2026/06/20/notes-for-a-more-social-screen-reader-testing-workshop</id>
  <published>2026-06-20T00:00:00+00:00</published>
  <updated>2026-06-20T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;These are some scribbles I’m pulling together to make an updated version of the &lt;a href=&quot;/2026/05/25/screen-reader-testing-workshop/&quot;&gt;Screen reader testing workshop&lt;/a&gt; I ran recently. That one was mostly solo work: some pointers on how and what to test, then &lt;em&gt;heads down&lt;/em&gt; and &lt;em&gt;headphones on&lt;/em&gt; to do the testing. The next version is going to be more social, more group work.&lt;/p&gt;

&lt;p&gt;Aside: I like taking notes. Two pages I’ve gone back to a lot are my &lt;a href=&quot;/teaching-and-learning/&quot;&gt;Teaching and learning notes&lt;/a&gt; and my &lt;a href=&quot;/writing-workshops-and-talks/&quot;&gt;Writing, Workshops, and Talks notes&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;gathered-notes&quot;&gt;Gathered notes&lt;/h2&gt;

&lt;p&gt;These are options and ideas, and have some overlap.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Need instructions &lt;em&gt;slides&lt;/em&gt; this time, since people will be off in corners of the room.&lt;/li&gt;
  &lt;li&gt;All together group shout-outs: what are you hoping to get out of this session?
    &lt;ul&gt;
      &lt;li&gt;While they’re testing, see if some of the stuff not covered can be added near the end, or at leat talked about briefly&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Opening act, show of hands
    &lt;ul&gt;
      &lt;li&gt;who’s heard a screen reader before?
        &lt;ul&gt;
          &lt;li&gt;nice! would anyone like to say how / where?&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;who’s used a screen reader before?&lt;/li&gt;
      &lt;li&gt;who hasn’t used a screen reader before?&lt;/li&gt;
      &lt;li&gt;who doesn’t want to put their hand up? (trick question! maybe…)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Pair share: Have you ever tested with a screen reader before? Tell me more! (Which one? How was it?)&lt;/li&gt;
  &lt;li&gt;After first activity, a 1 minute review in your group
    &lt;ul&gt;
      &lt;li&gt;How was that? Anything unexpected or interesting?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Make preso bit interactive: ask the crowd before giving the answer&lt;/li&gt;
  &lt;li&gt;Make name, role, value preso bit interactive
    &lt;ul&gt;
      &lt;li&gt;A few examples of button, link, form field, maybe some ARIA stuff too&lt;/li&gt;
      &lt;li&gt;Show just the UI, ask audience for name, role, value, (state?)&lt;/li&gt;
      &lt;li&gt;And a tricky one: fieldset and legend, breadcrumbs (need HTML for that)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Update headings activity
    &lt;ul&gt;
      &lt;li&gt;How are the headings on the page? Do they represent the content well?&lt;/li&gt;
      &lt;li&gt;What’s not a heading, but should be? (Often big, bold, text)&lt;/li&gt;
      &lt;li&gt;What’s a heading, but shouldn’t be? (Often in the hero section)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;After headings and images activity
    &lt;ul&gt;
      &lt;li&gt;Each group share back to everyone: one or two sentence review
        &lt;ul&gt;
          &lt;li&gt;What you did or what you learned or where you got stuck (and how you got unstuck)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Closing, part one: back as one group
    &lt;ul&gt;
      &lt;li&gt;What went well?&lt;/li&gt;
      &lt;li&gt;What went weird?&lt;/li&gt;
      &lt;li&gt;What did you learn?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Closing, part two: now what?
    &lt;ul&gt;
      &lt;li&gt;Write a sentence starting with “I will…”. Get as many of these in as you can. The more you get, the more likely you are to Do The Thing!&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;What&lt;/strong&gt; will you do?&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;When&lt;/strong&gt; will you do it?&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Where&lt;/strong&gt; will you do it?&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Who&lt;/strong&gt; will be involved?&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;How&lt;/strong&gt; will you do it?&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Why&lt;/strong&gt; do this?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;raw-notes&quot;&gt;Raw notes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Better &amp;gt; Worse
    &lt;ul&gt;
      &lt;li&gt;Movement &amp;gt; Sitting&lt;/li&gt;
      &lt;li&gt;Talking &amp;gt; Listening&lt;/li&gt;
      &lt;li&gt;Images &amp;gt; Words&lt;/li&gt;
      &lt;li&gt;Writing &amp;gt; Reading&lt;/li&gt;
      &lt;li&gt;Shorter &amp;gt; Longer&lt;/li&gt;
      &lt;li&gt;Different &amp;gt; Same&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Connections
    &lt;ul&gt;
      &lt;li&gt;to each other&lt;/li&gt;
      &lt;li&gt;to the topic&lt;/li&gt;
      &lt;li&gt;to learning goals and outcomes&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Concepts
    &lt;ul&gt;
      &lt;li&gt;Include 1 minute reviews&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Celebrations&lt;/li&gt;
  &lt;li&gt;Learning is strong when it matters, is concrete, is personal.&lt;/li&gt;
  &lt;li&gt;Knowledge
    &lt;ul&gt;
      &lt;li&gt;Retrieving&lt;/li&gt;
      &lt;li&gt;Predicting&lt;/li&gt;
      &lt;li&gt;Interleaving&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Understanding
    &lt;ul&gt;
      &lt;li&gt;Connecting&lt;/li&gt;
      &lt;li&gt;Practising&lt;/li&gt;
      &lt;li&gt;Self-explaining&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Social
    &lt;ul&gt;
      &lt;li&gt;Use pair share / teach back activities, have accountability buddies.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Physical
    &lt;ul&gt;
      &lt;li&gt;Use activities like show of hands.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Practical
    &lt;ul&gt;
      &lt;li&gt;Show how to get started with small wins that stack up and lead to big ones.&lt;/li&gt;
      &lt;li&gt;Do the work. Tell learners to bring their stuff.&lt;/li&gt;
      &lt;li&gt;Provide a toolkit with clear, actionable, steps.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Short
    &lt;ul&gt;
      &lt;li&gt;Keep it simple and prioritise. What’s the key message or concept?&lt;/li&gt;
      &lt;li&gt;Make small but meaningful milestones. Find the short-term reward linked to the long-term benefit.&lt;/li&gt;
      &lt;li&gt;Do warm-ups, easier or softer, stuff before the difficult stuff.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;High energy
    &lt;ul&gt;
      &lt;li&gt;Have a strong opening.&lt;/li&gt;
      &lt;li&gt;Have a strong peak.&lt;/li&gt;
      &lt;li&gt;Have a strong closing.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Flexible
    &lt;ul&gt;
      &lt;li&gt;Vary type and length of activities, senses used.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/06/20/notes-for-a-more-social-screen-reader-testing-workshop/&quot;&gt;Notes for a more social 'Screen reader testing workshop'&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on June 20, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[The (more) complete view]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/06/16/complete-view/" />
  <id>http://human-centred.nz/2026/06/16/complete-view</id>
  <published>2026-06-16T00:00:00+00:00</published>
  <updated>2026-06-16T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Something I aim for is a &lt;strong&gt;complete view&lt;/strong&gt;. Seeing things from multiple sides and angles.&lt;/p&gt;

&lt;p&gt;Sometimes that means steel-manning someone else’s argument. Sometimes that means presenting a side that’s been neglected: I find this one to frequently be the case with AI, in particular hype-based reporting. One of the reasons that I went to an AI conference and &lt;a href=&quot;/2026/06/07/web-directions-ai-engineers/&quot;&gt;took a bunch of notes&lt;/a&gt; was to get a more complete view of how jobbing engineers are using AI. What’s working and what’s not. To get a more complete view of AI in engineering.&lt;/p&gt;

&lt;!-- I value clarity. But/and that doesn&apos;t usually mean certainty. I value truth. But/and that&apos;s usually about degrees and perspectives. --&gt;

&lt;p&gt;Realistically, it’s impossible to have a (completely) complete view: to consider every single angle. But we can work towards a &lt;em&gt;more&lt;/em&gt; complete view. One that takes in more perspectives. The main thing is to ask a lot of questions! I find it helpful to have a few “grips” to get a handle on the process: width, height, depth. Kind of like left-right, up-down, in-out.&lt;/p&gt;

&lt;h2 id=&quot;width&quot;&gt;Width&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Look more widely.&lt;/strong&gt; Look left and right.&lt;/li&gt;
  &lt;li&gt;What’s happening in parallel situations? Different teams, different organisations.&lt;/li&gt;
  &lt;li&gt;What’s being left out? What else is happening?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;height&quot;&gt;Height&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Look higher and lower.&lt;/strong&gt; Look up and down.&lt;/li&gt;
  &lt;li&gt;What’s happening in the layers above? The layers below?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;depth&quot;&gt;Depth&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Look more deeply.&lt;/strong&gt; Zoom in, and zoom out.&lt;/li&gt;
  &lt;li&gt;Zoom in on the details, the specifics, the measurables and metrics, the numbers. Zoom out and look at the context, the bigger picture.&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/06/16/complete-view/&quot;&gt;The (more) complete view&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on June 16, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Sketchnotes from Web Directions – AI Engineer Melbourne]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/06/07/web-directions-ai-engineers/" />
  <id>http://human-centred.nz/2026/06/07/web-directions-ai-engineers</id>
  <published>2026-06-07T00:00:00+00:00</published>
  <updated>2026-06-07T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Last week I was in Melbourne for &lt;a href=&quot;https://webdirections.org/ai-engineer/&quot;&gt;Web Directions - AI Engineer&lt;/a&gt;. I was interested in hearing from people using AI day-to-day, and the ups and down of it. As I usually do, I took a bunch of notes.&lt;/p&gt;

&lt;h2 id=&quot;my-takeaways&quot;&gt;My takeaways&lt;/h2&gt;

&lt;p&gt;I went to about half the talks, splitting my time between the Software Engineering and AI Engineering tracks. A few themes came up across the talks I was at.&lt;/p&gt;

&lt;h3 id=&quot;practical&quot;&gt;Practical&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Choose the right model for the task&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Use a frontier model when things are subjective, ambiguous, and we have sparse feedback. This can be slow and expensive.&lt;/li&gt;
      &lt;li&gt;Use a lower-end model when things are objective, clear, and we can loop with good feedback. This can be fast and cheap: error improvement compounds.&lt;/li&gt;
      &lt;li&gt;Most of the time, start with a model in the middle&lt;/li&gt;
      &lt;li&gt;Right context beats more model&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Use a versioned learning loop&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Documents that AI uses have to be keep very up-to-date to stay and relevant and helpful
        &lt;ul&gt;
          &lt;li&gt;The spec, the AGENTS.md, skills, Confluence pages&lt;/li&gt;
          &lt;li&gt;The spec becomes the source of truth&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Version control these changes like we version control our code&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;theoretical&quot;&gt;Theoretical&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Treat LLMs with caution&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;There will always be some confabulation, even with excellent prompt engineering&lt;/li&gt;
      &lt;li&gt;The LLMS should not act as a boundary (for privacy, security, etc). Our application (architecture) should be.
        &lt;ul&gt;
          &lt;li&gt;Stories, prompt injection, can change the success condition: failure is always nearby&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;AI use must earn the right to scale. Start small and have a progressive rollout.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;There are many pieces, and they’re all connected&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The model, the prompt, the harness, etc.&lt;/li&gt;
      &lt;li&gt;AI helps with coding, but that’s only a small part of an engineer’s job&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No magic wands&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Bottlenecks/constraints don’t disappear, they just move&lt;/li&gt;
      &lt;li&gt;Removing waste is (still) the biggest accelerator: more than AI&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;sketchnotes&quot;&gt;Sketchnotes&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-1.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-1.jpg&quot; alt=&quot;Sketchnotes, day 1, page 1. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-one---sketchnotes-page-1&quot;&gt;Day one - sketchnotes page 1&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h4 id=&quot;state-of-the-ai-landscape---george-cameron&quot;&gt;State of the AI Landscape - George Cameron&lt;/h4&gt;

    &lt;p&gt;Cheaper intelligence but/and Higher spend than ever&lt;/p&gt;

    &lt;h4 id=&quot;token-town-why-token-strategy-is-product-strategy---sarah-sachs&quot;&gt;Token Town: why token strategy is product strategy - Sarah Sachs&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Build the best product that uses any model &lt;em&gt;instead of&lt;/em&gt; training the best model&lt;/li&gt;
      &lt;li&gt;Optionality is leverage&lt;/li&gt;
      &lt;li&gt;Open weight models are now strong enough for moderate tasks
        &lt;ul&gt;
          &lt;li&gt;What moderate means is contextual&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;everything-is-a-factory---geoff-huntley&quot;&gt;Everything is a Factory - Geoff Huntley&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Everyone is now a software developer → The job has been commoditised&lt;/li&gt;
      &lt;li&gt;It needs Deliberate intentional practice, like an instrument&lt;/li&gt;
      &lt;li&gt;Curiosity-test people&lt;/li&gt;
      &lt;li&gt;Removing waste is the biggest accelerator (more than AI)&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;three-lanes-below-one-millisecond---vamsi-ramakrishnan&quot;&gt;Three lanes below one millisecond - Vamsi Ramakrishnan&lt;/h4&gt;

    &lt;p&gt;Full-duplex voice punishes the mistakes that text-only forgives.&lt;/p&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-2.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-2.jpg&quot; alt=&quot;Sketchnotes, day 1, page 2. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-one---sketchnotes-page-2&quot;&gt;Day one - sketchnotes page 2&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h4 id=&quot;fail-fast-fix-faster-why-faster-models-can-beat-smarter-ones&quot;&gt;Fail fast, fix faster: why faster models can beat smarter ones&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Good enough, but fast
        &lt;ul&gt;
          &lt;li&gt;Especially for Ralph loops, with good feedback
            &lt;ul&gt;
              &lt;li&gt;Cheap error detection&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Implement → Validate → Inform, loop&lt;/li&gt;
      &lt;li&gt;A bit like Test-Driven Development&lt;/li&gt;
      &lt;li&gt;Error improvement compounds&lt;/li&gt;
      &lt;li&gt;Use a frontier model when: subjective, ambiguous, sparse feedback&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;why-ai-coding-tools-might-not-make-the-slightest-difference---jason-cornwall&quot;&gt;Why AI coding tools might not make the slightest difference - Jason Cornwall&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;They say about 10% increase in productivity 2024-2026&lt;/li&gt;
      &lt;li&gt;Every system has exactly one constraint
        &lt;ul&gt;
          &lt;li&gt;but/and it moves!&lt;/li&gt;
          &lt;li&gt;when you remove one&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Coding is about 15% of an engineer’s time
        &lt;ul&gt;
          &lt;li&gt;The others are failure-avoidance activities&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;AI as an ingredient, not the recipe&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;constitutional-prompting---prem-pillai&quot;&gt;Constitutional prompting - Prem Pillai&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Your agents is already making decisions - just not ones guided by you&lt;/li&gt;
      &lt;li&gt;You can debug a spec. You can’t debug vibes.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;from-zero-to-production---rachael-zhang&quot;&gt;From zero to production - Rachael Zhang&lt;/h4&gt;

    &lt;p&gt;Do progressive rollout: earn the right to scale&lt;/p&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-3.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-3.jpg&quot; alt=&quot;Sketchnotes, day 1, page 3. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-one---sketchnotes-page-3&quot;&gt;Day one - sketchnotes page 3&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h4 id=&quot;agent-observability---daniel-nadasi&quot;&gt;Agent observability - Daniel Nadasi&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Look at every level, once per framework&lt;/li&gt;
      &lt;li&gt;Tighter controls means easier observability&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;our-ai-hallucinated-in-production-how-we-fixed-it-with-evals---yicheng-guo&quot;&gt;Our AI hallucinated in Production: how we fixed it with evals - Yicheng Guo&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Hallucination (of property features) rate: 5%
        &lt;ul&gt;
          &lt;li&gt;even after much prompt engineering&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Learning system
        &lt;ul&gt;
          &lt;li&gt;Software metrics&lt;/li&gt;
          &lt;li&gt;Human judge - lots of labels&lt;/li&gt;
          &lt;li&gt;LLM judge - trained from human’s labels&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;the-application-layer-is-the-new-research-lab&quot;&gt;The application layer is the new research lab&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;The prompt is just one piece of many
        &lt;ul&gt;
          &lt;li&gt;Behaviour is joint&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;We only own a function of the pieces, not the pieces themselves&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;orbital-lasers-vs-for-loops-economically-matching-models-to-tasks---stephen-sennett&quot;&gt;Orbital lasers vs For loops: economically matching models to tasks - Stephen Sennett&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;We don’t choose, we default&lt;/li&gt;
      &lt;li&gt;The range
        &lt;ul&gt;
          &lt;li&gt;\(\)$ Words matter (about 10% of the time)&lt;/li&gt;
          &lt;li&gt;$$$ Structured, but logical (about 70% of the time)
            &lt;ul&gt;
              &lt;li&gt;Failure? Retry with \(\)$ model&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;$ Make simple things fast (about 20% of the time)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Best fit, best tool
        &lt;ul&gt;
          &lt;li&gt;Not overuse or hallucinate&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Right context beats more model
        &lt;ul&gt;
          &lt;li&gt;Documentation, MCPs&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;your-ai-cant-engineer-yet---theo-galanos&quot;&gt;Your AI can’t engineer (yet) - Theo Galanos&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;One number can’t tell the whole story&lt;/li&gt;
      &lt;li&gt;Model: the reasoning; harness: everything else!&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-4.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-4.jpg&quot; alt=&quot;Sketchnotes, day 2, page 1. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-two---sketchnotes-page-1&quot;&gt;Day two - sketchnotes page 1&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h4 id=&quot;growing-on-purpose-the-work-that-makes-you---jeremy-howard&quot;&gt;Growing on purpose: the work that makes you - Jeremy Howard&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Self-determination theory&lt;/li&gt;
      &lt;li&gt;Two paths: support or Decay&lt;/li&gt;
      &lt;li&gt;Autonomy, Mastery, Purpose, Relatedness&lt;/li&gt;
      &lt;li&gt;Effortful craft&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;craft-in-the-time-of-agents---annie-vella&quot;&gt;Craft in the time of agents - Annie Vella&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Apprentice → Journeyman → Master&lt;/li&gt;
      &lt;li&gt;A spectrum between results-oriented and journey-oriented&lt;/li&gt;
      &lt;li&gt;Creation to verification (“supervisory engineering”) shift&lt;/li&gt;
      &lt;li&gt;Effects
        &lt;ul&gt;
          &lt;li&gt;Flow state ↓↓↓&lt;/li&gt;
          &lt;li&gt;Cognitive load ↑↑&lt;/li&gt;
          &lt;li&gt;Feedback loop ↑&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Self-efficacy as a dominant predictor&lt;/li&gt;
      &lt;li&gt;Three models
        &lt;ul&gt;
          &lt;li&gt;Artisan. Rare.&lt;/li&gt;
          &lt;li&gt;Orchestrator
            &lt;ul&gt;
              &lt;li&gt;Domain (problem) and harness (platform)&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Clerk. Avoid!&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;buidling-a-mesh-llm-from-spare-compute---mic-neale&quot;&gt;Buidling a mesh LLM from spare compute - Mic Neale&lt;/h4&gt;

    &lt;p&gt;Inference is now the bottleneck.&lt;/p&gt;

    &lt;h4 id=&quot;towards-long-horizon-tasks---zixuan-li&quot;&gt;Towards long-horizon tasks - Zixuan Li&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Handles interruption and replannings of context&lt;/li&gt;
      &lt;li&gt;Human help
        &lt;ul&gt;
          &lt;li&gt;Checklist for addressing drift&lt;/li&gt;
          &lt;li&gt;Tell it to verify for addressing error accumulation&lt;/li&gt;
          &lt;li&gt;Tell it to evaluate for when it can’t pivot&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-5.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-5.jpg&quot; alt=&quot;Sketchnotes, day 2, page 2. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-two---sketchnotes-page-2&quot;&gt;Day two - sketchnotes page 2&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;

    &lt;h4 id=&quot;spec-driven-ai-development---nick-beaugeard&quot;&gt;Spec-driven AI development - Nick Beaugeard&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;We’ve been backing up the wrong files&lt;/li&gt;
      &lt;li&gt;The spec is the source of truth. The code is a build artefact.
        &lt;ul&gt;
          &lt;li&gt;Anything you can regenerate is an artefact.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;The process
        &lt;ul&gt;
          &lt;li&gt;Spec: intent and guarantees
            &lt;ul&gt;
              &lt;li&gt;Edited by a human&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Plan: architecture and approach
            &lt;ul&gt;
              &lt;li&gt;Approved by a human&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Tasks: atomic, ordered, checkable&lt;/li&gt;
          &lt;li&gt;Build: code, tests, docs&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;building-sdks-in-the-agentic-era---mark-mcdonald&quot;&gt;Building SDKs in the agentic era - Mark McDonald&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;AGENTS.md is the most effective way to instruct an agents, but/and uses many tokens&lt;/li&gt;
      &lt;li&gt;LLMS.txt has high latency, uses lots of tokens&lt;/li&gt;
      &lt;li&gt;Agent skills - keep them lean&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;agentsmd-is-the-wrong-conversation---jakub-riedl&quot;&gt;AGENTS.md is the wrong conversation - Jakub Riedl&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;AGENTS.md as an index/router - good, but …
        &lt;ul&gt;
          &lt;li&gt;it gets outdated quickly&lt;/li&gt;
          &lt;li&gt;it’s one person’s opinion&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Use a versioned learning loop
        &lt;ul&gt;
          &lt;li&gt;in AGENTS.md say what to do with ADRs, etc.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Have an inner/local loop and an outer/organisation-wide loop
        &lt;ul&gt;
          &lt;li&gt;Share to the outer loop on merge&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;how-do-we-engineer-in-a-world-where-we-no-longer-read-code---ben-taylor&quot;&gt;How do we engineer in a world where we no longer read code - Ben Taylor&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Bottlenecks don’t disappear, they move&lt;/li&gt;
      &lt;li&gt;Engineering ≠ Coding
        &lt;ul&gt;
          &lt;li&gt;The doing is the understanding&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Vigilance decrement: monitoring misses what active catches&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;the-death-of-documentation&quot;&gt;The death of documentation&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;The pattern
        &lt;ul&gt;
          &lt;li&gt;Day 0 it’s documented&lt;/li&gt;
          &lt;li&gt;Sprint 2 it drifts&lt;/li&gt;
          &lt;li&gt;Month 6 it’s become folklore
            &lt;ul&gt;
              &lt;li&gt;A rumour about how the system used to work&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;LLMs can’t know the why, the intent&lt;/li&gt;
      &lt;li&gt;Deterministic specs
        &lt;ul&gt;
          &lt;li&gt;the code&lt;/li&gt;
          &lt;li&gt;openAPI yml&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/06/wdai-6.jpg&quot;&gt;&lt;img src=&quot;/img/2026/06/thumbs/wdai-6.jpg&quot; alt=&quot;Sketchnotes, day 2, page 3. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h3 id=&quot;day-two---sketchnotes-page-3&quot;&gt;Day two - sketchnotes page 3&lt;/h3&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h4 id=&quot;designing-inference-native-systems---sajjad-kamal&quot;&gt;Designing inference-native systems - Sajjad Kamal&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Update belief → Decide → Act&lt;/li&gt;
      &lt;li&gt;Intent (decisions, stories), Context, Action, Reconciliation, Verification&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;why-llms-fall-for-stories---mal-curtis&quot;&gt;Why LLMs fall for stories - Mal Curtis&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Can get outside the guardrails&lt;/li&gt;
      &lt;li&gt;Chat is still a prompt&lt;/li&gt;
      &lt;li&gt;Reasoning is more text&lt;/li&gt;
      &lt;li&gt;Stories can flip the success condition
        &lt;ul&gt;
          &lt;li&gt;The opposite is nearby
            &lt;ul&gt;
              &lt;li&gt;Failure is nearby&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Stages of guardrails
        &lt;ol&gt;
          &lt;li&gt;Input rails&lt;/li&gt;
          &lt;li&gt;Dailog rails
            &lt;ul&gt;
              &lt;li&gt;No changing jobs&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Retrieval rails
            &lt;ul&gt;
              &lt;li&gt;Evidence, not instructions&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Execution rails
            &lt;ul&gt;
              &lt;li&gt;Tools behind policy, not prose&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Outout rails
            &lt;ul&gt;
              &lt;li&gt;Verify the answer&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;hacking-the-model-ai-red-teaming-in-practice---pas-apicella&quot;&gt;Hacking the model: AI Red Teaming in practice - Pas Apicella&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;Goal + Strategy&lt;/li&gt;
      &lt;li&gt;Fractured, ever-evolving, attack surface&lt;/li&gt;
      &lt;li&gt;Continuous Offensive Security&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h4 id=&quot;why-most-ai-de-identification-fails-in-production---moin-zaman&quot;&gt;Why most AI De-identification fails in production - Moin Zaman&lt;/h4&gt;

    &lt;ul&gt;
      &lt;li&gt;The LLM should not be your privacy boundary
        &lt;ul&gt;
          &lt;li&gt;Your application architecture should be&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Manual review wasn’t a fallback. It was part of the architecture.&lt;/li&gt;
      &lt;li&gt;Don’t hide uncertainty from users&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/06/07/web-directions-ai-engineers/&quot;&gt;Sketchnotes from Web Directions – AI Engineer Melbourne&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on June 07, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Screen reader testing workshop]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/05/25/screen-reader-testing-workshop/" />
  <id>http://human-centred.nz/2026/05/25/screen-reader-testing-workshop</id>
  <published>2026-05-25T00:00:00+00:00</published>
  <updated>2026-05-25T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;We’ll focus on the free screen readers.&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Testing with JAWS is fairly similar to testing with NVDA.&lt;/li&gt;
      &lt;li&gt;Narrator comes with Windows and VoiceOver comes with macOS&lt;/li&gt;
      &lt;li&gt;NVDA is a free download, Windows only&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;We’re just covering getting started&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Most of the problems occur with foundational stuff, the building blocks of the web.&lt;/li&gt;
      &lt;li&gt;There’s loads more to explore and learn if you’re interested!&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;We’ll be testing on &lt;a href=&quot;https://tetralogical.com/blog/2022/07/21/research-insight-accessibility-of-images/&quot;&gt;Research insight: accessibility of images&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you just want the keyboard shortcuts, go to “Get help!” at the bottom of the page.&lt;/p&gt;

&lt;h2&gt;Agenda&lt;/h2&gt;

&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#1-dive-right-in-practical-&quot; id=&quot;markdown-toc-1-dive-right-in-practical-&quot;&gt;1. Dive right in (practical 🫱)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#be-prepared-to-make-it-hush&quot; id=&quot;markdown-toc-be-prepared-to-make-it-hush&quot;&gt;Be prepared to make it hush!&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#start-the-screen-reader&quot; id=&quot;markdown-toc-start-the-screen-reader&quot;&gt;Start the screen reader&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#move-around-the-page&quot; id=&quot;markdown-toc-move-around-the-page&quot;&gt;Move around the page&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#briefly-discuss&quot; id=&quot;markdown-toc-briefly-discuss&quot;&gt;Briefly discuss&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#2-think-about-it-theory-&quot; id=&quot;markdown-toc-2-think-about-it-theory-&quot;&gt;2. Think about it (theory 🧠)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#testers-not-users&quot; id=&quot;markdown-toc-testers-not-users&quot;&gt;Testers, not users&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#the-two-modes-of-screen-readers&quot; id=&quot;markdown-toc-the-two-modes-of-screen-readers&quot;&gt;The two modes of screen readers&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#what-does-good-sound-like&quot; id=&quot;markdown-toc-what-does-good-sound-like&quot;&gt;What does good sound like?&lt;/a&gt;        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;#variations-between-srs&quot; id=&quot;markdown-toc-variations-between-srs&quot;&gt;Variations between SRs&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#3-set-it-up-practical-&quot; id=&quot;markdown-toc-3-set-it-up-practical-&quot;&gt;3. Set it up (practical 🫱)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#nvda-only-nvda-key-and-turn-on-highlighting&quot; id=&quot;markdown-toc-nvda-only-nvda-key-and-turn-on-highlighting&quot;&gt;NVDA only: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NVDA key&lt;/code&gt; and Turn on highlighting&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#speech-viewer&quot; id=&quot;markdown-toc-speech-viewer&quot;&gt;Speech viewer&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#4-set-if-off-practical-&quot; id=&quot;markdown-toc-4-set-if-off-practical-&quot;&gt;4. Set if off (practical 🫱)&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#test-the-headings&quot; id=&quot;markdown-toc-test-the-headings&quot;&gt;Test the headings&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#test-the-images&quot; id=&quot;markdown-toc-test-the-images&quot;&gt;Test the images&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#test-the-title&quot; id=&quot;markdown-toc-test-the-title&quot;&gt;Test the title&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#5-share-it-out-theory-&quot; id=&quot;markdown-toc-5-share-it-out-theory-&quot;&gt;5. Share it out (theory 🧠)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#6-something-went-wrong-practical-&quot; id=&quot;markdown-toc-6-something-went-wrong-practical-&quot;&gt;6. Something went wrong (practical 🫱)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#7-get-help&quot; id=&quot;markdown-toc-7-get-help&quot;&gt;7. Get help!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depending on how we go with time, we may jump to “Get help!”, which is a list of resources.&lt;/p&gt;

&lt;h2 id=&quot;1-dive-right-in-practical-&quot;&gt;1. Dive right in (practical 🫱)&lt;/h2&gt;

&lt;h3 id=&quot;be-prepared-to-make-it-hush&quot;&gt;Be prepared to make it hush!&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Mute your sound, or press &lt;kbd&gt;Ctrl&lt;/kbd&gt; to pause the speech.&lt;/li&gt;
  &lt;li&gt;Or, turn it off entirely!&lt;/li&gt;
&lt;/ul&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Turn off screen reader&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;`NVDA key`&lt;/kbd&gt; (&lt;kbd&gt;Insert&lt;/kbd&gt; or &lt;kbd&gt;Caps Lock&lt;/kbd&gt;) + &lt;kbd&gt;Q&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Windows&lt;/kbd&gt; + &lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;F5&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;We’ll come back to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NVDA key&lt;/code&gt; later!&lt;/p&gt;

&lt;h3 id=&quot;start-the-screen-reader&quot;&gt;Start the screen reader&lt;/h3&gt;

&lt;p&gt;Search for it, click the logo, or use a keyboard shortcut.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Start screen reader&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;Alt&lt;/kbd&gt; + &lt;kbd&gt;N&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Windows&lt;/kbd&gt; + &lt;kbd&gt;Ctrl&lt;/kbd&gt; + &lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;F5&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Although you can use any browser, we generally suggest using these combinations for best results:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;NVDA with Firefox&lt;/li&gt;
  &lt;li&gt;Narrator with Edge&lt;/li&gt;
  &lt;li&gt;VoiceOver with Safari.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;move-around-the-page&quot;&gt;Move around the page&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↑&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↑&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;↑&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next interactive item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous interactive item&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;Tab&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;If you get stuck&lt;/strong&gt;, try:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;going backwards&lt;/li&gt;
  &lt;li&gt;pressing &lt;kbd&gt;Tab&lt;/kbd&gt; a few times&lt;/li&gt;
  &lt;li&gt;refreshing the page!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;briefly-discuss&quot;&gt;Briefly discuss&lt;/h3&gt;

&lt;p&gt;How was that? 🙃&lt;/p&gt;

&lt;h2 id=&quot;2-think-about-it-theory-&quot;&gt;2. Think about it (theory 🧠)&lt;/h2&gt;

&lt;h3 id=&quot;testers-not-users&quot;&gt;Testers, not users&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Don’t worry about trying to have an “authentic” experience. That’s not really possible!&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;If you don’t use a SR (screen reader) every day, your experience won’t be the same as someone who does.&lt;/li&gt;
      &lt;li&gt;Your familiarity with the SR and the way of browsing is very different.&lt;/li&gt;
      &lt;li&gt;You can choose not to use it, some everyday users can’t.&lt;/li&gt;
      &lt;li&gt;To find out about an authentic experience, we can do usability testing with everyday users!&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;What we’re trying to do is to find barriers that someone who uses a SR every day might encounter.&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;That we can do, and we can compare what it looks like and what it sounds like.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;the-two-modes-of-screen-readers&quot;&gt;The two modes of screen readers&lt;/h3&gt;

&lt;p&gt;Screen readers have two modes: &lt;strong&gt;Browse mode&lt;/strong&gt; (which Narrator calls Scan Mode) and &lt;strong&gt;Forms mode&lt;/strong&gt;. One way to think about the difference is the keyboard interactions for desktop screen readers.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;In Browse mode, keystrokes perform reading and navigation actions by the screen reader.&lt;/li&gt;
  &lt;li&gt;In Forms mode, keystrokes perform data entry actions by the browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Screen readers generally change modes automatically. For example: when tabbing into a form field. You can also change modes manually.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Change mode&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;`NVDA key`&lt;/kbd&gt; + &lt;kbd&gt;Space Bar&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; + &lt;kbd&gt;Space Bar&lt;/kbd&gt; + &lt;kbd&gt;Enter&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;what-does-good-sound-like&quot;&gt;What does good sound like?&lt;/h3&gt;

&lt;p&gt;Broadly speaking: &lt;strong&gt;it should sound the same as it looks&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Names and roles are announced&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;For example: “button, save”; “contact us, link”.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;States, properties, and values are announced&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;For example: an expanded state on an accordions, the text in a text field&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Groupings and landmarks are announced&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;For example: a group of radio buttons; the main navigation.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;variations-between-srs&quot;&gt;Variations between SRs&lt;/h4&gt;

&lt;p&gt;Some screen readers announce ‘button, save’ and some announce ‘save, button’.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Different screen reader and browser combinations may announce the same thing slightly differently.&lt;/strong&gt; That’s fine, and expected!&lt;/p&gt;

&lt;p&gt;Briefly check that no information is missing across these variations. The order doesn’t matter, only the content of the announcement.&lt;/p&gt;

&lt;h2 id=&quot;3-set-it-up-practical-&quot;&gt;3. Set it up (practical 🫱)&lt;/h2&gt;

&lt;p&gt;Okay, let’s make our testing slightly easier by updating a shortcut key and turning on highlighting.&lt;/p&gt;

&lt;h3 id=&quot;nvda-only-nvda-key-and-turn-on-highlighting&quot;&gt;NVDA only: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NVDA key&lt;/code&gt; and Turn on highlighting&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Set a new &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NVDA key&lt;/code&gt;. Some people prefer &lt;kbd&gt;Caps Lock&lt;/kbd&gt; as the NVDA key. In the menus, go to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tools&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Speech Viewer&lt;/code&gt; (by using your mouse or &lt;kbd&gt;NVDA key`&lt;/kbd&gt; + &lt;kbd&gt;N&lt;/kbd&gt;).&lt;/li&gt;
  &lt;li&gt;Turn on Highlighting. In the menus, go to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Preferences&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Vision&lt;/code&gt;, and check &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Enable Highlighting&lt;/code&gt;. This lets you see where NVDA’s cursor is.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;speech-viewer&quot;&gt;Speech viewer&lt;/h3&gt;

&lt;p&gt;NVDA and VoiceOver both let you view a text version of the speech. It doesn’t always match what’s announced, though, so be wary of relying on it.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Turn on the speech viewer&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tools&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Speech Viewer&lt;/code&gt;: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Open the Speech Viewer&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VoiceOver Utility&lt;/code&gt; &amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Visuals&lt;/code&gt;: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Show caption panel&lt;/code&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;4-set-if-off-practical-&quot;&gt;4. Set if off (practical 🫱)&lt;/h2&gt;

&lt;p&gt;Quick aside for VoiceOver:&lt;/p&gt;

&lt;p&gt;Interact with (go into/out of) objects (like iframes, menus, application regions, etc.) : &lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;↓&lt;/kbd&gt; / &lt;kbd&gt;↑&lt;/kbd&gt;&lt;/p&gt;

&lt;h3 id=&quot;test-the-headings&quot;&gt;Test the headings&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next heading&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous heading&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;h&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Next heading at level 1-6&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;1&lt;/kbd&gt;-&lt;kbd&gt;6&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;1&lt;/kbd&gt;-&lt;kbd&gt;6&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Trying moving down the page after jumping to a heading!&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Start reading from here&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;`NVDA key`&lt;/kbd&gt; + &lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; + &lt;kbd&gt;↓&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;a&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;test-the-images&quot;&gt;Test the images&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next image (graphic)&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Previous image (graphic)&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;Shift&lt;/kbd&gt; + &lt;kbd&gt;g&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;test-the-title&quot;&gt;Test the title&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Announce title&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;`NVDA key`&lt;/kbd&gt; + &lt;kbd&gt;t&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;Caps Lock&lt;/kbd&gt; + &lt;kbd&gt;w&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;Not available&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;5-share-it-out-theory-&quot;&gt;5. Share it out (theory 🧠)&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;What went well?&lt;/li&gt;
  &lt;li&gt;What went weird?&lt;/li&gt;
  &lt;li&gt;What did you learn?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;6-something-went-wrong-practical-&quot;&gt;6. Something went wrong (practical 🫱)&lt;/h2&gt;

&lt;p&gt;Test some interactive elements, especially help text and errors. Tab through the page, or jump to the next form element.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Action&lt;/th&gt;
      &lt;th&gt;NVDA&lt;/th&gt;
      &lt;th&gt;Narrator&lt;/th&gt;
      &lt;th&gt;VoiceOver&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Next form element&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;f&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;f&lt;/kbd&gt;&lt;/td&gt;
      &lt;td&gt;&lt;kbd&gt;VO&lt;/kbd&gt; + &lt;kbd&gt;Cmd&lt;/kbd&gt; + &lt;kbd&gt;j&lt;/kbd&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;If you get stuck&lt;/strong&gt;, try:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;going backwards&lt;/li&gt;
  &lt;li&gt;pressing &lt;kbd&gt;Tab&lt;/kbd&gt; a few times&lt;/li&gt;
  &lt;li&gt;switching modes&lt;/li&gt;
  &lt;li&gt;refreshing the page!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;7-get-help&quot;&gt;7. Get help!&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/survival-guide&quot;&gt;Desktop Screen Readers Survival Guide - Basic Keyboard Shortcuts at Deque&lt;/a&gt; (Shortcut Keys for JAWS, NVDA, Narrator, VoiceOver)&lt;/li&gt;
  &lt;li&gt;NVDA
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts&quot;&gt;NVDA Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/articles/nvda/&quot;&gt;Using NVDA to Evaluate Web Accessibility&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/resources/shortcuts/nvda&quot;&gt;Keyboard Shortcuts for NVDA at WebAIM&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Narrator
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/narrator-keyboard-shortcuts&quot;&gt;Narrator Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;VoiceOver
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://dequeuniversity.com/screenreaders/voiceover-keyboard-shortcuts&quot;&gt;VoiceOver Keyboard Shortcuts at Deque&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://webaim.org/articles/voiceover/&quot;&gt;Using VoiceOver to Evaluate Web Accessibility&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/05/25/screen-reader-testing-workshop/&quot;&gt;Screen reader testing workshop&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on May 25, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Sketchnotes from the 2026 NZ Tech Rally conference]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/05/20/sketchnotes-from-the-2026-nz-tech-rally-conference/" />
  <id>http://human-centred.nz/2026/05/20/sketchnotes-from-the-2026-nz-tech-rally-conference</id>
  <published>2026-05-20T00:00:00+00:00</published>
  <updated>2026-05-20T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Last week was the NZ Tech Rally conference. It was so good!&lt;/p&gt;

&lt;p&gt;Everything about the event was high quality. Also, I gave &lt;a href=&quot;https://nztechrally.nz/steve-barnett&quot;&gt;a talk about design systems and accessibility&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;A few top takeaways for me:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Don’t mistake speed for alignment&lt;/li&gt;
  &lt;li&gt;Design for disagreement in meetings and workshops&lt;/li&gt;
  &lt;li&gt;Don’t mistake intelligent discussion for moving forward (or making a decision)&lt;/li&gt;
  &lt;li&gt;Clarity is important (but that doesn’t always mean certainty)&lt;/li&gt;
  &lt;li&gt;Culture is the accepted, repeated, behaviour&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Below are my sketchnotes from some of the talks I attended.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/05/morning-keynotes.jpg&quot;&gt;&lt;img src=&quot;/img/2026/05/thumbs/morning-keynotes.jpg&quot; alt=&quot;Sketchnotes from the May 2026 NZ Tech Rally meetup. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h2 id=&quot;morning-keynotes&quot;&gt;Morning keynotes&lt;/h2&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h3 id=&quot;cognitive-diversity-in-the-age-of-ai-building-teams-that-out-innovate-with-a-pasifika-lens---norie-ape&quot;&gt;Cognitive diversity in the age of AI: building teams that out-innovate with a Pasifika lens - Norie Ape&lt;/h3&gt;
    &lt;ul&gt;
      &lt;li&gt;How do we make the data that AI uses &lt;strong&gt;truly diverse&lt;/strong&gt;?&lt;/li&gt;
      &lt;li&gt;Innovation is about &lt;strong&gt;making space&lt;/strong&gt; for &lt;strong&gt;different ways&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Cultural intellligence
        &lt;ul&gt;
          &lt;li&gt;Thinking together
            &lt;ul&gt;
              &lt;li&gt;styles&lt;/li&gt;
              &lt;li&gt;culture&lt;/li&gt;
              &lt;li&gt;perspective&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;AI risk: accelerating bias&lt;/li&gt;
      &lt;li&gt;Don’t mistake speed for alignment&lt;/li&gt;
      &lt;li&gt;Talanoa
        &lt;ul&gt;
          &lt;li&gt;respect, care, integrity&lt;/li&gt;
          &lt;li&gt;understanding, not winning&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Design for disagreement in workshops and meetings&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;building-with-ai-without-losing-our-values---lauren-peate&quot;&gt;Building with AI without losing our values - Lauren Peate&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Systems&lt;/strong&gt; around us make us complicit in bad things&lt;/li&gt;
      &lt;li&gt;(Only) use AI when it’s a &lt;strong&gt;good&lt;/strong&gt; solution
        &lt;ul&gt;
          &lt;li&gt;e.g. measuring feedback &lt;strong&gt;quality&lt;/strong&gt; - tone, specificity&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Diversity improves AI &lt;strong&gt;accuracy&lt;/strong&gt;
        &lt;ul&gt;
          &lt;li&gt;LLMs need evals → evals need humans → quality needs diverse humans&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Use holistic metrics&lt;/li&gt;
      &lt;li&gt;LLMs are non-deterministic, use &lt;strong&gt;more&lt;/strong&gt; deterministic tools to check the output&lt;/li&gt;
      &lt;li&gt;Sometimes money and values will be in conflict&lt;/li&gt;
      &lt;li&gt;Build to easily swap LLMs&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/05/track-talks.jpg&quot;&gt;&lt;img src=&quot;/img/2026/05/thumbs/track-talks.jpg&quot; alt=&quot;Sketchnotes from the May 2026 NZ Tech Rally meetup. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h2 id=&quot;community-culture--wellbeing-track-talks&quot;&gt;Community, Culture &amp;amp; Wellbeing track talks&lt;/h2&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h3 id=&quot;the-dungeon-masters-guide-to-feedback---tamara-buckland&quot;&gt;The Dungeon Master’s guide to feedback - Tamara Buckland&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Even with best intentions, feedback comes out judgey
        &lt;ul&gt;
          &lt;li&gt;So we tend to &lt;strong&gt;avoid&lt;/strong&gt; it!
            &lt;ol&gt;
              &lt;li&gt;Centre the hero&lt;/li&gt;
              &lt;li&gt;Narration, not judgement&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
          &lt;li&gt;narration opens and adds context&lt;/li&gt;
          &lt;li&gt;judgement closes
            &lt;ol&gt;
              &lt;li&gt;Point forward&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;your-code-is-fine-your-leadership---rachael-fitzjohn&quot;&gt;Your code is fine. Your leadership… - Rachael Fitzjohn&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Leader’s responsibility
        &lt;ul&gt;
          &lt;li&gt;Clear confusion
            &lt;ul&gt;
              &lt;li&gt;Reduce uncertainty&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Make hard &lt;strong&gt;decisions&lt;/strong&gt;
            &lt;ul&gt;
              &lt;li&gt;Without enough information&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Intelligent discussion ≠ Moving Forward (or making a decision)&lt;/li&gt;
      &lt;li&gt;Clarity is underrated
        &lt;ul&gt;
          &lt;li&gt;Clarity is not necessarily certainty&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;We avoid &lt;strong&gt;discomfort&lt;/strong&gt;, difficult decisions&lt;/li&gt;
      &lt;li&gt;Ambiguity creates anxiety&lt;/li&gt;
      &lt;li&gt;Indirectness, avoidance, destroys trust&lt;/li&gt;
      &lt;li&gt;Culture is &lt;strong&gt;accepted, repeated, behaviour&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/05/locknote.jpg&quot;&gt;&lt;img src=&quot;/img/2026/05/thumbs/locknote.jpg&quot; alt=&quot;Sketchnotes from the May 2026 NZ Tech Rally meetup. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h2 id=&quot;locknote&quot;&gt;Locknote&lt;/h2&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;h2 id=&quot;the-accessibility-features-of-today-are-the-breakthroughs-of-tomorrow---maia-miller&quot;&gt;The accessibility features of today are the breakthroughs of tomorrow - Maia Miller&lt;/h2&gt;
    &lt;ul&gt;
      &lt;li&gt;When we ask “is is worth it?” late, it makes it easier to say &lt;strong&gt;no&lt;/strong&gt;
        &lt;ul&gt;
          &lt;li&gt;time, money, customers
            &lt;ul&gt;
              &lt;li&gt;it’s okay to ask&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Much tech that was made to &lt;strong&gt;meet the needs&lt;/strong&gt; of disabled people become the &lt;strong&gt;preferred version&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;An inaccessible solution is an &lt;strong&gt;incomplete solution&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;An accessible solution is a &lt;strong&gt;better solution&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;More flexible and adaptable, to our lives&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/05/20/sketchnotes-from-the-2026-nz-tech-rally-conference/&quot;&gt;Sketchnotes from the 2026 NZ Tech Rally conference&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on May 20, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Sketchnotes from the May 2026 NZ Tech Rally meetup]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/05/19/sketchnotes-from-the-may-2026-nz-tech-rally-meetup/" />
  <id>http://human-centred.nz/2026/05/19/sketchnotes-from-the-may-2026-nz-tech-rally-meetup</id>
  <published>2026-05-19T00:00:00+00:00</published>
  <updated>2026-05-19T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Last week NZ Tech Rally had a great pre-conference panel meetup.&lt;/p&gt;

&lt;p&gt;My top takeaways:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The rise of AI has lead to a rise in old-fashioned automation&lt;/li&gt;
  &lt;li&gt;Ask “How did you arrive at that decision?”&lt;/li&gt;
  &lt;li&gt;The hype is ridiculous, but there are realistic, good, use cases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below are my sketchnotes.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/05/nztr-meetup.jpg&quot;&gt;&lt;img src=&quot;/img/2026/05/thumbs/nztr-meetup.jpg&quot; alt=&quot;Sketchnotes from the May 2026 NZ Tech Rally meetup. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
&lt;summary&gt;
    &lt;h2 id=&quot;ai-adoption-in-high-trust-environments&quot;&gt;AI adoption in high trust environments&lt;/h2&gt;
  &lt;/summary&gt;
&lt;div&gt;
    &lt;ul&gt;
      &lt;li&gt;AI in a &lt;strong&gt;measured&lt;/strong&gt; and &lt;strong&gt;safe&lt;/strong&gt; way&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Cautious&lt;/strong&gt; with AI and &lt;strong&gt;decisions&lt;/strong&gt;, &lt;strong&gt;outcomes&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Code (GitHub Vopilot) summarisation, internal / back-office productivity&lt;/li&gt;
      &lt;li&gt;All AI ideas go through a Working Group
        &lt;ul&gt;
          &lt;li&gt;The group contains people from privacy, infosec, legal, and more&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;The (Public Service) Framework is more of an enabler than a constraint&lt;/li&gt;
      &lt;li&gt;The rise of AI has lead to a rise in old-fashioned automation
        &lt;ul&gt;
          &lt;li&gt;Don’t always need AI!&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;“Do you need this to be deterministic”&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Train&lt;/strong&gt; staff to be critical of AI outputs&lt;/li&gt;
      &lt;li&gt;“How did you arrive at that decision?”&lt;/li&gt;
      &lt;li&gt;“What is good enough?”
        &lt;ul&gt;
          &lt;li&gt;Hard to answer!&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Testing&lt;/strong&gt; is hard!&lt;/li&gt;
      &lt;li&gt;Needs SMEs, more business engagement, when using AI&lt;/li&gt;
      &lt;li&gt;Can’t predict the future, but can stick to our &lt;strong&gt;principles&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;qa&quot;&gt;Q&amp;amp;A&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Can customers opt out?
        &lt;ul&gt;
          &lt;li&gt;Guidance from Privacy and Ethics&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Managing the risk of the rising AI costs
        &lt;ul&gt;
          &lt;li&gt;Having a Business Continuity Plan&lt;/li&gt;
          &lt;li&gt;Looking at Small Langauge Models&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;The &lt;strong&gt;hype&lt;/strong&gt; is ridiculous, but there are realistic, good, use cases&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/05/19/sketchnotes-from-the-may-2026-nz-tech-rally-meetup/&quot;&gt;Sketchnotes from the May 2026 NZ Tech Rally meetup&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on May 19, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Sketchnotes from the May 2026 Wellington Web Accessibility Meetup]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/05/11/sketchnotes-from-the-may-2026-wellington-web-accessibility-meetup/" />
  <id>http://human-centred.nz/2026/05/11/sketchnotes-from-the-may-2026-wellington-web-accessibility-meetup</id>
  <published>2026-05-11T00:00:00+00:00</published>
  <updated>2026-05-11T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;I went to the May 2026 Wellington Web Accessibility Meetup and listened to two great talks, and a lively Q &amp;amp; A. Below are my sketchnotes from the talks.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/05/wwam.jpg&quot;&gt;&lt;img src=&quot;/img/2026/05/thumbs/wwam.jpg&quot; alt=&quot;Sketchnotes from the May 2026 Wellington Web Accessibility Meetup. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
    &lt;summary&gt;Text version of sketchnotes from the May 2026 Wellington Web Accessibility Meetup&lt;/summary&gt;
&lt;div&gt;
    &lt;h2 id=&quot;influencing-accessibility-change--mark-lynskey&quot;&gt;Influencing Accessibility Change – Mark Lynskey&lt;/h2&gt;

    &lt;ul&gt;
      &lt;li&gt;Accessibility is everyone’s responsibility&lt;/li&gt;
      &lt;li&gt;Circles of influence: you, your team, your organisation, more!&lt;/li&gt;
      &lt;li&gt;Treat accessibility issues as &lt;strong&gt;bugs&lt;/strong&gt;: POs hate bugs!&lt;/li&gt;
      &lt;li&gt;Make Guidelines and Tools that &lt;strong&gt;scale&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2 id=&quot;accessibility-success-stories--michele-de-bes&quot;&gt;Accessibility Success Stories – Michele de Bes&lt;/h2&gt;

    &lt;ul&gt;
      &lt;li&gt;Move Design Review to before Acceptance&lt;/li&gt;
      &lt;li&gt;Expand Acceptance Criteria to include Accessibility items&lt;/li&gt;
      &lt;li&gt;Ensure Strategic Alignment&lt;/li&gt;
      &lt;li&gt;Continuous Improvement&lt;/li&gt;
      &lt;li&gt;Design for everyone&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Ask: can everyone use this?&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
&lt;/details&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/05/11/sketchnotes-from-the-may-2026-wellington-web-accessibility-meetup/&quot;&gt;Sketchnotes from the May 2026 Wellington Web Accessibility Meetup&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on May 11, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Draft notes for an AI usage policy]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/04/16/draft-notes-for-an-ai-usage-policy/" />
  <id>http://human-centred.nz/2026/04/16/draft-notes-for-an-ai-usage-policy</id>
  <published>2026-04-16T00:00:00+00:00</published>
  <updated>2026-04-16T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Having a policy for AI usage in the workplace is important. Below are some gathered notes, a sketch of a first draft of a policy.&lt;/p&gt;

&lt;h2&gt;Table of contents&lt;/h2&gt;

&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#decide-when-to-use-it&quot; id=&quot;markdown-toc-decide-when-to-use-it&quot;&gt;Decide when to use it&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#use-it-thoughtfully&quot; id=&quot;markdown-toc-use-it-thoughtfully&quot;&gt;Use it thoughtfully&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#review-the-output&quot; id=&quot;markdown-toc-review-the-output&quot;&gt;Review the output&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#be-a-considerate-coworker&quot; id=&quot;markdown-toc-be-a-considerate-coworker&quot;&gt;Be a considerate coworker&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#an-incomplete-reading-list&quot; id=&quot;markdown-toc-an-incomplete-reading-list&quot;&gt;An incomplete reading list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;decide-when-to-use-it&quot;&gt;Decide when to use it&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Start with the problem rather than AI as the solution.&lt;/li&gt;
  &lt;li&gt;Decide where on the spectrum of “never use AI for this task” to “always use AI for this task” this task falls.
    &lt;ul&gt;
      &lt;li&gt;Consider whether the task requires thinking, evaluation, experience.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Be able to articulate why we’re using it for this task.&lt;/li&gt;
  &lt;li&gt;Use it to learn and explore rather than to provide answers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;use-it-thoughtfully&quot;&gt;Use it thoughtfully&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Do a quick pros/cons analysis of using it for this task.
    &lt;ul&gt;
      &lt;li&gt;Is the trade-off acceptable, and why?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Be clear on what’s being automated, the inputs, and the outputs.&lt;/li&gt;
  &lt;li&gt;Have a hypothesis, an expected outcome, success criteria.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;review-the-output&quot;&gt;Review the output&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Recognise the potential for bias and errors.
    &lt;ul&gt;
      &lt;li&gt;Errors and confabulation are particularly likely around details and specifics, and for niche topics.&lt;/li&gt;
      &lt;li&gt;Check for relevance, accuracy and consistency, errors and omissions.&lt;/li&gt;
      &lt;li&gt;Be particularly wary of plausible nonsense.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Use a verification checklist.&lt;/li&gt;
  &lt;li&gt;Measure the outcome to see whether using AI made a material improvement to the task.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;be-a-considerate-coworker&quot;&gt;Be a considerate coworker&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Share respectfully and thoughtfully.
    &lt;ul&gt;
      &lt;li&gt;Only share things we’ve reviewed thoroughly.&lt;/li&gt;
      &lt;li&gt;Share a distilled summary or a link, not raw LLM output.&lt;/li&gt;
      &lt;li&gt;Watch for effort asymmetry, and share it only when requested.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Realise that the responsibility, accountability, and reputation risk remains with us, not the AI.&lt;/li&gt;
  &lt;li&gt;Share how we used it for task.
    &lt;ul&gt;
      &lt;li&gt;The facts, not opinions and predictions.&lt;/li&gt;
      &lt;li&gt;Include our context and our intended outcome.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Treat questions and concerns with respect, kindness, and dignity.
    &lt;ul&gt;
      &lt;li&gt;A friendly, non-judgemental, approach.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;an-incomplete-reading-list&quot;&gt;An incomplete reading list&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=005JLRt3gXI&quot;&gt;Why do AI models hallucinate? - YouTube&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://commoncog.com/how-to-make-sense-of-ai/&quot;&gt;How to Make Sense of AI - Commoncog&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.blakestockton.com/ai-writing-etiquette-manifesto/&quot;&gt;AI Writing Etiquette Manifesto&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stopsloppypasta.ai/en/#rules&quot;&gt; Stop Sloppypasta: Don’t paste raw LLM output at people&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://ai-manifesto.dev/&quot;&gt;The AI Manifesto: Using AI responsibly in Development and Collaboration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/04/16/draft-notes-for-an-ai-usage-policy/&quot;&gt;Draft notes for an AI usage policy&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on April 16, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[My (Sketch)notes from Code Camp Wellington 2026]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/03/21/my-sketchnotes-from-code-camp-wellington-2026/" />
  <id>http://human-centred.nz/2026/03/21/my-sketchnotes-from-code-camp-wellington-2026</id>
  <published>2026-03-21T00:00:00+00:00</published>
  <updated>2026-03-21T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;On Saturday 21st March 2026 I was at &lt;a href=&quot;https://www.codecampwellington.nz/&quot;&gt;Code Camp Wellington&lt;/a&gt;. The speakers were great and the crowd was friendly!&lt;/p&gt;

&lt;p&gt;A few plucked highlights from talks for me:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The importance of thinking well
    &lt;ul&gt;
      &lt;li&gt;self-awareness, reflection, deliberate action, precision, quality&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Being wary of the impact on ourselves when using AI&lt;/li&gt;
  &lt;li&gt;Agents work better when you get your accessibility right&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;sketchnotes&quot;&gt;Sketchnotes&lt;/h2&gt;

&lt;p&gt;Below are my sketchnotes from the talks I went to. Each image: links to a larger image; is followed by a text version.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/03/ccw2026-p1.jpg&quot;&gt;&lt;img src=&quot;/img/2026/03/thumbs/ccw2026-p1.jpg&quot; alt=&quot;Page 1 of sketchnotes from Code Camp Wellington 2026. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
    &lt;summary&gt;Text version of page 1 of sketchnotes from Code Camp Wellington 2026&lt;/summary&gt;
&lt;div&gt;
    &lt;h3 id=&quot;think-small-how-to-maintain-a-startup-mindset-even-after-20-years--chris-smith&quot;&gt;Think small: How to maintain a startup mindset even after 20+ years – Chris Smith&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Lesson 1: small is good&lt;/li&gt;
      &lt;li&gt;Lesson 2: Embrace your inner Anarchist&lt;/li&gt;
      &lt;li&gt;Lesson 3: Surround yourself with geniuses&lt;/li&gt;
      &lt;li&gt;Lesson 4: Keep your culture alive&lt;/li&gt;
      &lt;li&gt;Lesson 5: It’s about people&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;data-wrangling-with-ai--daniel-shannon&quot;&gt;Data wrangling with AI – Daniel Shannon&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Have secure custom deployed models, an air gap&lt;/li&gt;
      &lt;li&gt;Use continuous QA agents&lt;/li&gt;
      &lt;li&gt;Map together disparate data sets&lt;/li&gt;
      &lt;li&gt;The most important thing: high quality data set&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;running-runn-on-a-run-hands-free-vibe-coding--ingo-schommer&quot;&gt;Running Runn on a run: Hands free vibe coding – Ingo Schommer&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;“From writing code to having conversations about code”&lt;/li&gt;
      &lt;li&gt;Agents &lt;strong&gt;work better&lt;/strong&gt; when you get your &lt;strong&gt;accessibility right&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Two stage loop, two LLMs
        &lt;ul&gt;
          &lt;li&gt;Sandbox around Claude Code&lt;/li&gt;
          &lt;li&gt;Many hilarious edge cases&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;new-normal-ai-speed-human-overload--lexi-weng&quot;&gt;New Normal: AI Speed, Human Overload – Lexi Weng&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Ship more, close more tickets, &lt;strong&gt;but&lt;/strong&gt; increased mental load, more context-switching, less satisfaction&lt;/li&gt;
      &lt;li&gt;Waiting for a prompt response, or an agent, is not a rest&lt;/li&gt;
      &lt;li&gt;It moves effort, we do more in parallel&lt;/li&gt;
      &lt;li&gt;The productivity baseline has gone up&lt;/li&gt;
      &lt;li&gt;Becoming orchestrator more than creator&lt;/li&gt;
    &lt;/ul&gt;

  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;a href=&quot;/img/2026/03/ccw2026-p1.jpg&quot;&gt;&lt;img src=&quot;/img/2026/03/thumbs/ccw2026-p2.jpg&quot; alt=&quot;Page 2 of sketchnotes from Code Camp Wellington 2026. Text description follows this image.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;details&gt;
    &lt;summary&gt;Text version of page 2 of sketchnotes from Code Camp Wellington 2026&lt;/summary&gt;
&lt;div&gt;
    &lt;h3 id=&quot;how-i-took-a-career-break--prae-songprasit&quot;&gt;How I took a career break – Prae Songprasit&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;If you have an Employee Assistance Programme, &lt;strong&gt;use it!&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Things that lower morale, path to &lt;strong&gt;burnout&lt;/strong&gt;
        &lt;ul&gt;
          &lt;li&gt;Mismatched skills and team needs&lt;/li&gt;
          &lt;li&gt;Devaued specialist skis&lt;/li&gt;
          &lt;li&gt;Values mismatch&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;What do you
        &lt;ul&gt;
          &lt;li&gt;care about?&lt;/li&gt;
          &lt;li&gt;get satisfaction from?&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Rest&lt;/strong&gt; is not wasting time&lt;/li&gt;
      &lt;li&gt;Become clear on your burnout conditions, your red flags
        &lt;ul&gt;
          &lt;li&gt;For example: tired, teary, terse&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Know thyself and monitor&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;pragmatic-genai-for-software-developers-staying-human-in-the-loop--roberto-allende&quot;&gt;Pragmatic GenAI for Software Developers: Staying Human in the Loop – Roberto Allende&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Be &lt;strong&gt;Deliberate&lt;/strong&gt; rather than be reactive
        &lt;ul&gt;
          &lt;li&gt;Act with agency&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;An LLM is a probability machine that gives us plausible answer
        &lt;ul&gt;
          &lt;li&gt;When we give it vague inputs it has a large probability space&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Automation has to be &lt;strong&gt;deterministic&lt;/strong&gt;: the same inputs give the same outputs, every time&lt;/li&gt;
      &lt;li&gt;It feels magical until it collapses&lt;/li&gt;
      &lt;li&gt;LLMs can give genuine leverage when generating options&lt;/li&gt;
      &lt;li&gt;Review AI output like an &lt;strong&gt;untrustworthy Pull Request&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 id=&quot;the-habits-of-fast-developers--sam-jarman&quot;&gt;The Habits of Fast Developers – Sam Jarman&lt;/h3&gt;

    &lt;ul&gt;
      &lt;li&gt;Increase the &lt;strong&gt;density&lt;/strong&gt; of your experience&lt;/li&gt;
      &lt;li&gt;Good habits and bad habits both stack&lt;/li&gt;
      &lt;li&gt;Understand the &lt;strong&gt;big picture&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Have the option to reverse things&lt;/li&gt;
      &lt;li&gt;Bookmark everything&lt;/li&gt;
      &lt;li&gt;Experience = Sensations + Reflection&lt;/li&gt;
    &lt;/ul&gt;

  &lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;I also did a talk of my own. A little lightning talk: &lt;a href=&quot;https://human-centred.nz/2026/03/16/the-fiction-of-non-friction-being-favourable/&quot;&gt;The fiction of non-friction being favourable&lt;/a&gt;.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/03/21/my-sketchnotes-from-code-camp-wellington-2026/&quot;&gt;My (Sketch)notes from Code Camp Wellington 2026&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on March 21, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[The fiction of non-friction being favourable]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/03/16/the-fiction-of-non-friction-being-favourable/" />
  <id>http://human-centred.nz/2026/03/16/the-fiction-of-non-friction-being-favourable</id>
  <published>2026-03-16T00:00:00+00:00</published>
  <updated>2026-03-16T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;The HTML version of my talk at &lt;a href=&quot;https://www.codecampwellington.nz/&quot;&gt;Code Camp Wellington&lt;/a&gt; 2026.&lt;/p&gt;

&lt;div class=&quot;slide slide-title&quot;&gt;
  &lt;p&gt;Or: “Easy is not always an uncomplicated good”
&lt;span aria-hidden=&quot;true&quot;&gt;🤬 🧑‍💻&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-mit&quot;&gt;
  &lt;h2 id=&quot;the-front-page&quot;&gt;The front-page&lt;/h2&gt;

  &lt;p&gt;Choose friction to choose growth&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧑‍🎓 🧱 🛋️&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-aside&quot;&gt;
  &lt;h2 id=&quot;foreword&quot;&gt;Foreword&lt;/h2&gt;

  &lt;p&gt;📧 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;steve.barnett@intopia.digital&lt;/code&gt;&lt;br /&gt;
🤓 Digital Accessibility Consultant&lt;br /&gt;
🛠️ Finding and removing friction&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-section&quot;&gt;
  &lt;h2 id=&quot;friction&quot;&gt;1. Friction&lt;/h2&gt;

  &lt;p&gt;Quick definition(s)&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📕 📗 📘&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;friction-is-resistance&quot;&gt;Friction is resistance&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;The force of resistance to relative motion&lt;/li&gt;
    &lt;li&gt;That is: &lt;strong&gt;stop-it-slipping-ness&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧪 🧍 🪑&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;friction-is-difficulty&quot;&gt;Friction is difficulty&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;It stops things being easy&lt;/li&gt;
    &lt;li&gt;That is: &lt;strong&gt;have-to-do-something-ness&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🫸 🤔 🧑‍💻&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-section&quot;&gt;
  &lt;h2 id=&quot;favourable-non-friction&quot;&gt;2. Favourable non-friction&lt;/h2&gt;

  &lt;p&gt;Or: “Easy can be good”&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🌴 🧠 ⚠️&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;code-completion&quot;&gt;Code completion&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;For example: IntelliSense in VS Code&lt;/li&gt;
    &lt;li&gt;No hunting around, it’s right there&lt;/li&gt;
    &lt;li&gt;There’s no value in this being difficult&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🕵 🎯 👍&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-section&quot;&gt;
  &lt;h2 id=&quot;unfavourable-non-friction&quot;&gt;3. Unfavourable non-friction&lt;/h2&gt;

  &lt;p&gt;Or: “Easy can be bad”&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;📈 ⌛ 🫠&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;taking-shortcuts-that-lead-to-tech-debt&quot;&gt;Taking shortcuts that lead to tech debt&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;For example: 0% test coverage&lt;/li&gt;
    &lt;li&gt;“That’s a problem for future-me”&lt;/li&gt;
    &lt;li&gt;Tech debt more generally&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧓 🦶 🔫 &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-section&quot;&gt;
  &lt;h2 id=&quot;favourable-friction&quot;&gt;4. Favourable friction&lt;/h2&gt;

  &lt;p&gt;Or: “Difficult can be good”&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;😬 ⌛ 🤩 &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;adding-a-new-framework-or-library&quot;&gt;Adding a new framework (or library)&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;For example: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;React&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;Switching from Vue or Angular or …&lt;/li&gt;
    &lt;li&gt;Get the finer flavours of it&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;⏱️ 😌 📉 &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-section&quot;&gt;
  &lt;h2 id=&quot;choosing-friction&quot;&gt;5. Choosing friction&lt;/h2&gt;

  &lt;p&gt;Making mistakes
Getting feedback&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;😰 🔄 🫡&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;friction-is-fervour&quot;&gt;Friction is fervour&lt;/h3&gt;

  &lt;p&gt;😋 Difficult is interesting&lt;br /&gt;
😪 Easy is boring&lt;br /&gt;
🧩 Solving problems with code&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-&quot;&gt;
  &lt;h3 id=&quot;feasibly-factious-example&quot;&gt;Feasibly factious example&lt;/h3&gt;

  &lt;p&gt;(Or: “Probably provocative example”)&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Choose friction when using AI&lt;/li&gt;
    &lt;li&gt;Don’t let AI do the work&lt;/li&gt;
    &lt;li&gt;Do let AI &lt;strong&gt;help&lt;/strong&gt; do the work&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🤖 🎁 🤔&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-mit&quot;&gt;
  &lt;h2 id=&quot;the-finale&quot;&gt;The finale&lt;/h2&gt;

  &lt;p&gt;Choose friction to choose growth&lt;/p&gt;

  &lt;p&gt;&lt;span aria-hidden=&quot;true&quot;&gt;🧑‍🎓 🧱 🛋️&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;hr /&gt;

&lt;div class=&quot;slide slide-aside&quot;&gt;
  &lt;h2 id=&quot;thank-you-&quot;&gt;Thank you! 🙇&lt;/h2&gt;

  &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;steve.barnett@intopia.digital&lt;/code&gt;&lt;/p&gt;

  &lt;p&gt;P.s. check out this book! 👇&lt;/p&gt;

  &lt;p&gt;&lt;img src=&quot;/img/2026/03/antifragile.jpg&quot; alt=&quot;antifragile book cover&quot; width=&quot;200&quot; /&gt;&lt;/p&gt;

&lt;/div&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/03/16/the-fiction-of-non-friction-being-favourable/&quot;&gt;The fiction of non-friction being favourable&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on March 16, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Notes on some Canadian Accessible and Equitable AI stuff]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/01/23/canaida/" />
  <id>http://human-centred.nz/2026/01/23/canaida</id>
  <published>2026-01-23T00:00:00+00:00</published>
  <updated>2026-01-23T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;I had a quick read through of the &lt;a href=&quot;https://accessible.canada.ca/creating-accessibility-standards/overview-asc-62-accessible-equitable-artificial-intelligence-systems&quot;&gt;Canadian Government’s CAN-ASC-6.2:2025 – Accessible and Equitable Artificial Intelligence Systems&lt;/a&gt;. Here are some quick notes on it.&lt;/p&gt;

&lt;p&gt;Much of the document is about the how, the implementation: using AI in an equitable way for people with disability. I was pleasantly surprised, though, at the bits that did not treat AI and its use as a foregone conclusion, as an uncomplicated good.&lt;/p&gt;

&lt;p&gt;One theme that ran through for me was: &lt;strong&gt;allow opt-out of AI, without penalty&lt;/strong&gt;. With two sub-themes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Have a clear plan for human options that are equally available and usable;&lt;/li&gt;
  &lt;li&gt;Stop using AI if it causes harm or is no longer fit for purpose.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another theme for me was: &lt;strong&gt;monitor for harm and unfair treatment, on an ongoing basis.&lt;/strong&gt; With a few sub-themes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Understand risks and impacts, including things that build up over time;&lt;/li&gt;
  &lt;li&gt;Allow anonymous feedback;&lt;/li&gt;
  &lt;li&gt;Respond to feedback with a specific plan for fixing it;&lt;/li&gt;
  &lt;li&gt;Allow challenging of decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As someone who tends to be critical of any new tech, and likes to be clear on the pros and (especially) the cons, I thought this was great.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/01/23/canaida/&quot;&gt;Notes on some Canadian Accessible and Equitable AI stuff&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on January 23, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[A business case for regular retrospectives]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2026/01/21/retros/" />
  <id>http://human-centred.nz/2026/01/21/retros</id>
  <published>2026-01-21T00:00:00+00:00</published>
  <updated>2026-01-21T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;A good way to &lt;strong&gt;increase long-term efficiency&lt;/strong&gt; is by running a 30 minute retro at the end of every project.&lt;/p&gt;

&lt;h2 id=&quot;why-do-retros&quot;&gt;Why do retros&lt;/h2&gt;

&lt;p&gt;Retros are the best, structured, way to continuously improve by building on successes and learning from mistakes. They should be treated as an essential part of a project, similar to the investment in project management time.&lt;/p&gt;

&lt;p&gt;The way we improve is to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;keep doing what’s working well;&lt;/li&gt;
  &lt;li&gt;stop or change what’s not working well (by doing something about it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Retros work by driving change in people and processes, and by building better shared understanding within the team. They help improve trust and psychological safety, and demonstrate the value of feedback. Every retro ends with deciding on a small, cheap, experiment: we agree to try something to see if there’s an improvement or not.&lt;/p&gt;

&lt;p&gt;This results in higher quality, more efficient, work and better team communication and collaboration. Running retros regularly is best because it means more opportunities to improve.&lt;/p&gt;

&lt;p&gt;Often there are items in company values or business objectives that match up well with doing retros, such as improvement and efficiency.&lt;/p&gt;

&lt;h3 id=&quot;ways-to-support-running-regular-retros&quot;&gt;Ways to support running regular retros&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Adding a retro as a item in templates&lt;/li&gt;
  &lt;li&gt;Scheduling the retro when scheduling the work&lt;/li&gt;
  &lt;li&gt;Templating the process and the outcomes, with some room to improvise&lt;/li&gt;
  &lt;li&gt;Being flexible on the timing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;see-also&quot;&gt;See also&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2018/07/03/retros-are-the-most-important-agile-activity/&quot;&gt;Retros are the most important agile activity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2019/02/27/how-to-make-retro-outcomes-more-sticky/&quot;&gt;How to make retro outcomes more sticky&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/25/retrospectives-and-strategic-pessimism/&quot;&gt;Retrospectives and “strategic pessimism”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2026/01/21/retros/&quot;&gt;A business case for regular retrospectives&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on January 21, 2026.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[2025 Year in Review]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2025/12/17/2025-year-in-review/" />
  <id>http://human-centred.nz/2025/12/17/2025-year-in-review</id>
  <published>2025-12-17T00:00:00+00:00</published>
  <updated>2025-12-17T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;For the past few years I’ve been doing a quick worky year-in-review. Here’s the one for this year.&lt;/p&gt;

&lt;p&gt;This year more than others I feel very run dry and out of energy at the end. A big part of this is not taking a proper holiday. I’m working on it!&lt;/p&gt;

&lt;h2 id=&quot;speaking&quot;&gt;Speaking&lt;/h2&gt;

&lt;p&gt;I gave two talks this year, both on &lt;strong&gt;Getting “Accessibility Ready” for a Design System&lt;/strong&gt;. The first was in September at &lt;a href=&quot;https://inclusivedesign24.org/2025/&quot;&gt;Inclusive Design 24&lt;/a&gt; (here’s &lt;a href=&quot;https://www.youtube.com/watch?v=mByeTl0P9FM&quot;&gt;the video on YouTube&lt;/a&gt;). The second was (an updated and revised version of the talk, including a “6 months later” epilogue) at the &lt;a href=&quot;https://www.digital.govt.nz/standards-and-guidance/nz-government-web-standards/digital-accessibility-community-of-practice&quot;&gt;Digital Accessibility Community of Practice&lt;/a&gt; (here’s &lt;a href=&quot;/accessibility-ready-dacop/&quot;&gt;an HTML version of talk&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Next year I’ll be doing a shorter, sharper, shinier version of the talk at &lt;a href=&quot;https://nztechrally.nz/steve-barnett&quot;&gt;NZ Tech Rally&lt;/a&gt;. I also put in a few talks to other conferences that didn’t get picked up. I like thinking of and writing up talks and I’ll continue to do so next year.&lt;/p&gt;

&lt;h2 id=&quot;conferences-and-meetup&quot;&gt;Conferences and meetup&lt;/h2&gt;

&lt;p&gt;I officially become co-facilitator for the &lt;a href=&quot;https://wellingtonuni-professional.nz/course/digital-accessibility-discussion-group/&quot;&gt;Digital Accessibility Discussion Group&lt;/a&gt; here in Wellington, Aotearoa New Zealand, with my friend and ex-colleague Tamsin. We started &lt;a href=&quot;https://github.com/Digital-Accessibility-Discussion-Group/Session-resources/wiki/Session-Resources-wiki&quot;&gt;a Wiki on GitHub&lt;/a&gt; to keep track of links and things. I gave a few little talks there too, including &lt;a href=&quot;/2025/04/10/accessibility-ready/&quot;&gt;Accessibility Ready&lt;/a&gt;, &lt;a href=&quot;/2025/10/26/notes-on-burnout/&quot;&gt;burnout&lt;/a&gt;, &lt;a href=&quot;/2025/08/22/validating-validation/&quot;&gt;Validating validation&lt;/a&gt;, and &lt;a href=&quot;/2025/08/23/behaviour-change/&quot;&gt;behaviour change&lt;/a&gt;. This group has been a really valuable source of peer support: we often discuss the difficulties of doing the work, and ways to deal with it.&lt;/p&gt;

&lt;p&gt;I went to the Disability Inclusive Pathways Conference in July and wrote up &lt;a href=&quot;/2025/07/17/notes-from-dipc/&quot;&gt;my notes from some of the great talks&lt;/a&gt;. A few things that stuck out for me: noticing the cumulative load of many individual stressors; the Ripple Effect of disclosing disability.&lt;/p&gt;

&lt;p&gt;I also went to &lt;a href=&quot;https://www.wellycon.org.nz/orbit/&quot;&gt;the talk track at Wellycon&lt;/a&gt;, a board games expo, to hear about design in other realms. I wrote up &lt;a href=&quot;/2025/07/18/notes-from-wellycon-applied-to-fedux/&quot;&gt;my notes from those board game design talks&lt;/a&gt; too. In particular, it was good to be reminded of the importance of: a good first-time and early user experience; handling failure states well.&lt;/p&gt;

&lt;h2 id=&quot;writing&quot;&gt;Writing&lt;/h2&gt;

&lt;p&gt;I wrote &lt;a href=&quot;/archive/2024/&quot;&gt;just over 20 things this year&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;My biggest focus was design systems: &lt;a href=&quot;/2025/02/24/design-systems-accessibility-testing/&quot;&gt;Design systems, Accessibility, and Testing (Accessibility)&lt;/a&gt;, &lt;a href=&quot;/2025/02/24/early-adopters-and-design-systems/&quot;&gt;Early Adopters and Design Systems&lt;/a&gt;,  &lt;a href=&quot;/2025/04/10/accessibility-ready/&quot;&gt;Accessibility Ready&lt;/a&gt;,  &lt;a href=&quot;/2025/04/21/resolving-variations-between-screen-readers/&quot;&gt;Resolving variations between screen readers&lt;/a&gt;,  &lt;a href=&quot;/2025/04/21/supported-assistive-technology/&quot;&gt;Supported Assistive Technology&lt;/a&gt;,  &lt;a href=&quot;/2025/05/20/accessibility-testing-on-real-devices/&quot;&gt;(Accessibility) Testing on real devices&lt;/a&gt;,  &lt;a href=&quot;/2025/06/05/automated-accessibility-testing/&quot;&gt;Automated Accessibility Testing&lt;/a&gt;,  &lt;a href=&quot;/2025/07/06/screen-reader-testing-for-a-design-system/&quot;&gt;Screen reader testing for a Design System&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;I also wrote about some of the things that came up while working with a design system team: &lt;a href=&quot;/2025/07/07/what-key-does-what/&quot;&gt;What key does what?&lt;/a&gt;, &lt;a href=&quot;/2025/08/29/comboboxes/&quot;&gt;Comboboxes and keeping it simple&lt;/a&gt;, &lt;a href=&quot;/2025/10/29/the-two-modes-of-screen-readers/&quot;&gt;The two modes of Screen Readers&lt;/a&gt;, and &lt;a href=&quot;/2025/10/30/usability-testing-for-a-design-system/&quot;&gt;Usability testing for a design system&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;I had lots of interesting questions as part of my consulting during the year. One of my favourites was about marking photos as decorative images. I wrote up some thought about it as &lt;a href=&quot;/2025/11/11/does-this-image-need-alt-text/&quot;&gt;Does this image need alt text?&lt;/a&gt;. I also wrote up some stuff about &lt;a href=&quot;/2025/11/07/carousels/&quot;&gt;Carousels&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wrote a post for HTMHell: &lt;a href=&quot;https://htmhell.dev/adventcalendar/2025/16/&quot;&gt;Giving pages a clear shape by using headings&lt;/a&gt;. I’m a big fan of the site and series, and it’s a real pleasure to be published there.&lt;/p&gt;

&lt;p&gt;I started a work-in-progress &lt;a href=&quot;/air/&quot;&gt;AI Resistance&lt;/a&gt; page. I have a tendency to want to see the more complete picture, and often end up putting myself on “the other side”. In this case, the prevailing thinking about AI seems to be that it’s an uncomplicated, inevitable, good. That doesn’t seem quite right to me, so I’m digging into the opposite to see what’s there.&lt;/p&gt;

&lt;h2 id=&quot;values-and-types&quot;&gt;Values and Types&lt;/h2&gt;

&lt;p&gt;On &lt;a href=&quot;/&quot;&gt;the home page of this site&lt;/a&gt; are two little lines and my values and the types of work I enjoy.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When working with people, especially on accessibility things, I try my best to: be empathetic; make it simple; be positive.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ve been doing okay with these qualities over the year. I think the one that’s been most difficult to keep up is the simple. Perhaps that’s been a bit of a consequence of spending so much time deep in design-system-land.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The things I most enjoy doing at work are: supporting, teaching / training, writing, presenting, and coding. There’s some overlap between these.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is easiest to think about in the context of the day job.&lt;/p&gt;

&lt;h2 id=&quot;18-months-job-check-in&quot;&gt;18 months job check-in&lt;/h2&gt;

&lt;p&gt;I started at Intopia in April 2024. Overall, I’m still enjoying consulting life. In particular, the variety of work and clients keeps me interested. I like mixing up things, trying different angles.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The majority of my work has been auditing, which tracks. But/and I have spent a large chunk of months doing more support-like, more consulting-like work, which I enjoy a lot more. Being able to talk through problems, help people find new angles, reconsider choices, that’s the stuff that I enjoy the most.&lt;/li&gt;
  &lt;li&gt;I haven’t done any training, and that seems likely to remain the case.&lt;/li&gt;
  &lt;li&gt;I have been doing some writing and especially presenting. There’s some support for that, which is great. I feel like I’ve actually done a fair bit of this over the year, but not much of it public.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;thats-a-wrap&quot;&gt;That’s a wrap&lt;/h2&gt;

&lt;p&gt;I’m not sure yet what my focus for next year will be. I hope I’ll continue to do more presenting and talking. But I’m mostly zooming out and looking at the wider context of life and seeing where things are going there, with work being a part of that.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2025/12/17/2025-year-in-review/&quot;&gt;2025 Year in Review&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on December 17, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Does this image need alt text?]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2025/11/11/does-this-image-need-alt-text/" />
  <id>http://human-centred.nz/2025/11/11/does-this-image-need-alt-text</id>
  <published>2025-11-11T00:00:00+00:00</published>
  <updated>2025-11-11T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Short version: probably yes.&lt;/p&gt;

&lt;p&gt;Recently I was working with a team on a page that’s a listing of people who are professional service providers. Each provider has a head shot photo. So, naturally, we were discussing if those photos needed to have text alternatives.&lt;/p&gt;

&lt;h2 id=&quot;in-general&quot;&gt;In general&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;WCAG Success Criteria 1.1.1 Non-text Content (Level A) says that all non-text content must have a text alternative that serves the equivalent purpose.&lt;/li&gt;
  &lt;li&gt;It also says that decorative images must be hidden from assistive technology.&lt;/li&gt;
  &lt;li&gt;Photos are very rarely decoration. Their purpose is to convey visual information, so they must have a text alternative.&lt;/li&gt;
  &lt;li&gt;Writing good text alternatives can be tricky! That doesn’t mean we shouldn’t try and do it. If an image conveys information we must supply a text alternative.&lt;/li&gt;
  &lt;li&gt;Usability testing suggests that screen reader users prefer photos to have a text alternative. They want an equivalent experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;in-this-specific-case&quot;&gt;In this specific case&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Marking these images as decorative would imply that they don’t have a purpose. If that were true, we would remove the images.&lt;/li&gt;
  &lt;li&gt;Writing a generic text alternative (for example: “Headshot of [service provider’s name]”) does not convey the same information as the photo.&lt;/li&gt;
  &lt;li&gt;We want to consider including things like ethnicity and gender because these may be important to the customer, in particular customers who belong to marginalised groups.&lt;/li&gt;
  &lt;li&gt;We don’t want to make assumptions, so we should ask the person in the photo about the text alternative. This is most efficiently done at the same time as taking the photo.&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2025/11/11/does-this-image-need-alt-text/&quot;&gt;Does this image need alt text?&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on November 11, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Carousels]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2025/11/07/carousels/" />
  <id>http://human-centred.nz/2025/11/07/carousels</id>
  <published>2025-11-07T00:00:00+00:00</published>
  <updated>2025-11-07T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;Also known as slide shows and sliders, carousels come and go out of fashion. They tend to fall into the bucket of “designers like them, customers don’t”.&lt;/p&gt;

&lt;p&gt;There are a few approaches we can take.&lt;/p&gt;

&lt;h2 id=&quot;try-not-to-use-a-carousel&quot;&gt;Try not to use a carousel&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Don’t bring up carousels at all.&lt;/strong&gt; Mike Monteiro’s excellent &lt;a href=&quot;https://deardesignstudent.com/the-market-is-always-out-of-carousels-1b8036f39344&quot;&gt;The Market Is Always Out of Carousels&lt;/a&gt; talks about this from a design perspective.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Discuss the reasons why they’re usually not a good choice.&lt;/strong&gt; “&lt;a href=&quot;https://shouldiuseacarousel.com/&quot;&gt;Should I use an carousel&lt;/a&gt;” brings a humorous take on it, and some quotes and links out to sources.
    &lt;ul&gt;
      &lt;li&gt;They’re often not very accessible, in particular auto-playing ones failing under WCAG SC 2.2.2 Pause, Stop, Hide (A) and a lack of keyboard accessibility&lt;/li&gt;
      &lt;li&gt;Users tend to ignore them, sometimes mentally classifying them as advertising&lt;/li&gt;
      &lt;li&gt;The content tends to be chosen from motives that are not user-centred&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Offer some alternatives.&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://www.antonsten.com/articles/why-carousels-dont-work/&quot;&gt;Anton Sten’s Why carousels don’t work&lt;/a&gt; suggests considering prioritised messaging and content hierarchy.&lt;/li&gt;
      &lt;li&gt;Choose more carefullly and show fewer things, removing the need for a carousel&lt;/li&gt;
      &lt;li&gt;Use a different pattern like an accordion or a “Show more” button for hiding less important content&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;make-a-good-carousel&quot;&gt;Make a good carousel&lt;/h2&gt;

&lt;p&gt;Follow some good advice on making the most usable and accessible carousel we can.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://bradfrost.com/blog/post/carousels/&quot;&gt;Brad Frost’s Carousels article&lt;/a&gt; has some advice and a call-to-action to gather data to measure their actual effectiveness&lt;/li&gt;
  &lt;li&gt;Smashing Magazine has an in-depth article: &lt;a href=&quot;https://www.smashingmagazine.com/2023/02/guide-building-accessible-carousels/&quot;&gt;A Step-By-Step Guide To Building Accessible Carousels&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://inclusive-components.design/a-content-slider/&quot;&gt;Heydon Pickering’s Inclusive components includes A Content Slider&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://www.w3.org/WAI/tutorials/carousels/&quot;&gt;Carousels Tutorial at WAI&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;The &lt;a href=&quot;https://www.w3.org/WAI/ARIA/apg/patterns/carousel/&quot;&gt;ARIA Authoring Practices Guide includes a Carousel (Slide Show or Image Rotator) Pattern&lt;/a&gt;.
    &lt;ul&gt;
      &lt;li&gt;As with all APG patterns, follow their Keyboard Interaction and WAI-ARIA Roles, States, and Properties guidance, but don’t rely too much on their example code. As they say at the start of each example page: “The code in this example is not intended for production environments.”&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;four-common-carousel-issues-found-in-accessibility-audits&quot;&gt;Four common carousel issues found in accessibility audits&lt;/h2&gt;

&lt;p&gt;Like any component, it’s possible to make carousel technically accessible (noting that it may still not be very usable). Here are some common accessibility problems with carousels.&lt;/p&gt;

&lt;h3 id=&quot;carousel-isnt-identified-programmatically&quot;&gt;Carousel isn’t identified programmatically&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Screen reader users won’t be told that it’s a carousel&lt;/li&gt;
  &lt;li&gt;To fix it: wrap the carousel in a &lt;code class=&quot;language-plaintext attr highlighter-rouge&quot;&gt;role=&quot;region&quot;&lt;/code&gt; and give it an accessible name&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;carousel-auto-plays-and-cant-be-stopped&quot;&gt;Carousel auto-plays and can’t be stopped&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;This is distracting for many users, and the content may move too quickly to be read&lt;/li&gt;
  &lt;li&gt;This fails under WCAG SC 2.2.2 Pause, Stop, Hide (A)&lt;/li&gt;
  &lt;li&gt;To fix it: ideally don’t auto-play, but otherwise have a Pause/Play button&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;screen-reader-users-dont-get-any-feedback-after-pressing-the-next-or-previous-button&quot;&gt;Screen reader users don’t get any feedback after pressing the next or previous button&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Screen reader users won’t know if anything happened after they pressed the button&lt;/li&gt;
  &lt;li&gt;This fails under WCAG SC 4.1.3 Status Messages&lt;/li&gt;
  &lt;li&gt;To fix it: use a (polite) live region to announce the current item after pressing the next or previous button&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;current-slide-in-list-of-slides-is-not-programmatically-indicated&quot;&gt;Current slide (in list of slides) is not programmatically indicated&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Screen reader users will have to puzzle out where they are in the carousel&lt;/li&gt;
  &lt;li&gt;This fails under WCAG SC 4.1.2 Name, Role, Value (A)&lt;/li&gt;
  &lt;li&gt;To fix it: add &lt;code class=&quot;language-plaintext attr highlighter-rouge&quot;&gt;aria-current=&quot;true&quot;&lt;/code&gt; to the current slide in the list&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2025/11/07/carousels/&quot;&gt;Carousels&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on November 07, 2025.&lt;/p&gt;</content>
</entry>


<entry>
  <title type="html"><![CDATA[Notes from "You Deserve A Tech Union"]]></title>
  <link rel="alternate" type="text/html" href="http://human-centred.nz/2025/11/02/you-deserve-a-tech-union/" />
  <id>http://human-centred.nz/2025/11/02/you-deserve-a-tech-union</id>
  <published>2025-11-02T00:00:00+00:00</published>
  <updated>2025-11-02T00:00:00+00:00</updated>
  <author>
    <name>Steve Barnett</name>
    <uri>http://human-centred.nz</uri>
    <email></email>
  </author>
  <content type="html">&lt;p&gt;My notes from &lt;a href=&quot;https://ethanmarcotte.com/books/you-deserve-a-tech-union/&quot;&gt;“You Deserve A Tech Union” by Ethan Marcotte&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I picked it up when it came out, but didn’t read it. The current tech landscape, in particular the rise of AI, nudged me to pick it up and read it now.&lt;/p&gt;

&lt;h2 id=&quot;power&quot;&gt;Power&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Power is a hierarchy of the people who make the decisions and the people who have to conform to them&lt;/li&gt;
  &lt;li&gt;Our power comes from taking collective action, fighting for dignity, protections, and safety&lt;/li&gt;
  &lt;li&gt;Solidarity is powerful because it’s open, explicit, acknowledgement of our connections, dependencies, and common humanity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;technology&quot;&gt;Technology&lt;/h2&gt;

&lt;p&gt;Ursula Franklin on what happens with every new technology&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;It appears with grand promises, often on liberation from toil&lt;/li&gt;
  &lt;li&gt;This drives adoption, and the tech becomes expected and assumed and institutionalised&lt;/li&gt;
  &lt;li&gt;The promise of liberation is never fulfilled, the tech is used to exploit workers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;unions&quot;&gt;Unions&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;A union is a group of workers who, through organisation and collective action, fight for a better life&lt;/li&gt;
  &lt;li&gt;Unions are a good way to address
    &lt;ul&gt;
      &lt;li&gt;How to keep the things you like about your job&lt;/li&gt;
      &lt;li&gt;How to change the things you wish were different about your job&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Understanding labour law and how it protects you (and how it doesn’t) will make you a better, more effective, organiser&lt;/li&gt;
  &lt;li&gt;Step 1: Building Support, Step 2: Outreach and Organising, Step 3: Winning Your Union, Step 4: Negotiating Your Contract&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;the-tech-industry&quot;&gt;The tech industry&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;A disconnect between motto and reality is fairly common, especially in mission-driven organisations&lt;/li&gt;
  &lt;li&gt;The scale of our industry’s problems have changed, but the shape’s the same
    &lt;ul&gt;
      &lt;li&gt;Our industry leans toward eliminating people from the process&lt;/li&gt;
      &lt;li&gt;We work in a system that is actively trying to devalue our labour&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Deskilling: technology is introduced, overseen by fewer workers, wages lowered and jobs cut. Demand for skilled labour reduced or eliminated. Workers moved into roles they’re overqualified for.&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;&lt;a href=&quot;http://human-centred.nz/2025/11/02/you-deserve-a-tech-union/&quot;&gt;Notes from "You Deserve A Tech Union"&lt;/a&gt; was originally published by  at &lt;a href=&quot;http://human-centred.nz&quot;&gt;Human-centred&lt;/a&gt; on November 02, 2025.&lt;/p&gt;</content>
</entry>

</feed>
