<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GatekeeperQA</title>
    <description>The latest articles on DEV Community by GatekeeperQA (gatekeeperqa-team).</description>
    <link>https://dev.to/gatekeeperqa-team</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15005%2F2a9e5a6a-6541-4bb8-9285-2f07862c07ba.png</url>
      <title>DEV Community: GatekeeperQA</title>
      <link>https://dev.to/gatekeeperqa-team</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gatekeeperqa-team"/>
    <language>en</language>
    <item>
      <title>How to retest an accessibility fix and write useful evidence</title>
      <dc:creator>GatekeeperQA</dc:creator>
      <pubDate>Wed, 30 Sep 2026 16:35:05 +0000</pubDate>
      <link>https://dev.to/gatekeeperqa-team/how-to-retest-an-accessibility-fix-and-write-useful-evidence-o5f</link>
      <guid>https://dev.to/gatekeeperqa-team/how-to-retest-an-accessibility-fix-and-write-useful-evidence-o5f</guid>
      <description>&lt;p&gt;A developer fixes an unnamed button. The next scan no longer reports it. Before closing the ticket, what should you verify?&lt;/p&gt;

&lt;p&gt;Repeat the original check, test the interaction, and record the evidence. This fictional checkout example shows a focused retest workflow you can use in your existing issue tracker.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with one clear fix
&lt;/h2&gt;

&lt;p&gt;An icon-only button has no accessible name. Adding visible text makes its purpose available to users:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Before --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"checkout"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;svg&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="na"&gt;focusable=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="c"&gt;&amp;lt;!-- Cart icon --&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- After --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"checkout"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;svg&lt;/span&gt; &lt;span class="na"&gt;aria-hidden=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt; &lt;span class="na"&gt;focusable=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;&lt;span class="c"&gt;&amp;lt;!-- Cart icon --&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;
  Continue to checkout
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The label addresses the naming problem. The application still needs to handle activation correctly. W3C's &lt;a href="https://www.w3.org/WAI/ARIA/apg/patterns/button/" rel="noopener noreferrer"&gt;button pattern&lt;/a&gt; describes naming, keyboard activation and focus behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  1 Repeat the automated check
&lt;/h2&gt;

&lt;p&gt;Open the same page and state, such as a cart containing an item. Record the original and updated build identifiers. Keep the engine version and scan settings comparable, or document what changed.&lt;/p&gt;

&lt;p&gt;Confirm the retest completed and included the affected button. An empty cart, missing component or failed scan cannot verify the fix.&lt;/p&gt;

&lt;p&gt;A useful result is specific: “The accessible-name finding was not detected for the checkout button in the populated-cart state.” Use that wording only when your evidence supports it. Keep both reports so another reviewer can compare them.&lt;/p&gt;

&lt;h2&gt;
  
  
  2 Test the interaction
&lt;/h2&gt;

&lt;p&gt;For this button, check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keyboard:&lt;/strong&gt; Reach it with Tab and Shift+Tab. Check visible focus and navigation order. Test Enter and Space separately from the same starting state; each should perform the intended action once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen reader:&lt;/strong&gt; Check the announced name and button role. Record the browser, screen reader and versions used.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resulting state:&lt;/strong&gt; Follow the checkout action. If it opens a dialog, check focus inside it and after closing it. Exercise applicable loading and error states, including how the user recovers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These checks verify a specific interaction. They do not establish whole-site accessibility. W3C explains why &lt;a href="https://www.w3.org/WAI/test-evaluate/" rel="noopener noreferrer"&gt;automated tools need human evaluation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 Keep the evidence with the ticket
&lt;/h2&gt;

&lt;p&gt;Record each check as passed, failed or not tested according to what you actually verified. These statuses describe the page assessment. Keep automated results and manual observations separate.&lt;/p&gt;

&lt;p&gt;Use this compact template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Page, component and starting state:
Original issue and evidence:
Expected behavior:
Fix build or commit:
Retest date and reviewer:
Browser and assistive technology versions:
Scan engine, settings and result:
Keyboard and screen-reader observations:
Other states checked and coverage gaps:
Remaining issues and linked tickets:
Decision against acceptance criteria:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the label is fixed but focus remains broken, record that remaining issue and assign it. Close the ticket against its acceptance criteria, with enough detail for another tester to repeat the check. Redact personal information and secrets before sharing evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put the workflow to use
&lt;/h2&gt;

&lt;p&gt;I maintain GatekeeperQA. &lt;strong&gt;GatekeeperQA is ready to use for accessibility reporting and retest tracking&lt;/strong&gt;, with findings, reviewer notes, ticket copying and retest comparisons.&lt;/p&gt;

&lt;p&gt;Explore the free &lt;a href="https://gatekeeperqa.com/interactive-sample" rel="noopener noreferrer"&gt;interactive sample&lt;/a&gt; without signing up, or &lt;a href="https://scan.gatekeeperqa.com/" rel="noopener noreferrer"&gt;scan a public page&lt;/a&gt; you own or have permission to test. Usage and shared-capacity limits apply.&lt;/p&gt;

&lt;p&gt;Try it in your workflow. Your feedback helps shape what we build next.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: Drafted with AI assistance. This fictional example is not a client assessment.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
    </item>
  </channel>
</rss>
