<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tab-able.co.uk</title>
	<atom:link href="https://tab-able.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>https://tab-able.co.uk/</link>
	<description>Design System Accessibility Engineers</description>
	<lastBuildDate>Fri, 18 Sep 2026 18:47:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.1</generator>

<image>
	<url>https://tab-able.co.uk/wp-content/uploads/2026/06/cropped-Social-Media-scaled-1-32x32.png</url>
	<title>Tab-able.co.uk</title>
	<link>https://tab-able.co.uk/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Digital Accessibility Series.  Ep1: Understanding What Users Face</title>
		<link>https://tab-able.co.uk/digital-accessibility-series-ep1-understanding-what-users-face/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 11:44:19 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=3858</guid>

					<description><![CDATA[<p>See the slides and transcript if you missed it. This talk was delivered on 7 April 2026 as an introduction to digital accessibility. Supporting Evidence for This Talk This page brings together the sources, studies, and evidence that support the points raised in the session. It’s designed to help you explore the topics further, check [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/digital-accessibility-series-ep1-understanding-what-users-face/">Digital Accessibility Series.  Ep1: Understanding What Users Face</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">See the <a href="https://tab-able.co.uk/wp-content/uploads/2026/04/digital-accessibility-ep1.html">slides and transcript</a> if you missed it.</p>



<p class="wp-block-paragraph">This talk was delivered on <strong>7 April 2026 </strong>as an introduction to digital accessibility. </p>



<h2 class="wp-block-heading">Supporting Evidence for This Talk</h2>



<p class="wp-block-paragraph">This page brings together the <strong>sources, studies, and evidence</strong> that support the points raised in the session. It’s designed to help you explore the topics further, check the data, and follow up on anything you’d like to learn more about.</p>



<h3 class="wp-block-heading">Outline</h3>



<ol class="wp-block-list">
<li><a href="#section1">Who Disabled People Are</a></li>



<li><a href="#section2">How Society Models Disability</a></li>



<li><a href="#section3">Tools that Disabled People Use</a></li>



<li><a href="#section4">Barriers Disabled Users Face</a></li>



<li><a href="#section5">Barrier-Free Team Practices</a></li>



<li><a href="#section6">Avoid Overlays</a></li>
</ol>



<h3 class="wp-block-heading" id="section1">Who disabled people are</h3>



<ul class="wp-block-list">
<li><a href="https://www.gov.uk/definition-of-disability-under-equality-act-2010">Definition of disability under the Equality Act 2010 </a><strong>[GOV UK]</strong></li>
</ul>



<ul class="wp-block-list">
<li>16 million people is derived from 1 in 4 people with Disability, according to <a href="https://www.gov.uk/government/statistics/disability-accessibility-and-blue-badge-scheme-statistics-2023-to-2024/disability-accessibility-and-blue-badge-statistics-england-2023-to-2024">Disability, accessibility and blue badge statistics, England, 2023 to 2024</a> <strong>[GOV UK]</strong></li>



<li>The spending power of Disabled people is referenced in Box 2 of <a href="https://www.bristol.ac.uk/media-library/sites/geography/pfrc/documents/Help-Support-Needs-Guide-2nd-Edition-Nov-2025.pdf">&#8216;Disabled and vulnerable consumers: what support needs can firms meet?&#8217;</a> <strong>[University of Bristol]</strong></li>



<li>Most common disabilities identified in the <a href="https://www.gov.uk/government/statistics/family-resources-survey-financial-year-2023-to-2024/family-resources-survey-financial-year-2023-to-2024">Family Resources Survey</a> <strong>[GOV UK]</strong></li>
</ul>



<h3 class="wp-block-heading" id="section2">How Society Models Disabled People</h3>



<ul class="wp-block-list">
<li><a href="https://www.scope.org.uk/social-model-of-disability">Models of Disability</a> <strong>[Scope UK]</strong></li>



<li><a href="https://www.atia.org/home/at-resources/what-is-at/">Assistive technologies</a> <strong>[ATIA]</strong></li>
</ul>



<h3 class="wp-block-heading" id="section3">Tools that Disabled People Use</h3>



<h4 class="wp-block-heading" id="mouth-stick">Mouth stick</h4>



<p class="wp-block-paragraph"><a href="https://tubustechnology.com/pages/description">From</a> <strong>[TubusOne]</strong></p>



<figure class="wp-block-video"><video height="360" style="aspect-ratio: 640 / 360;" width="640" controls src="https://tab-able.co.uk/wp-content/uploads/2026/04/videoplayback.1773166275432.publer.com_.mp4"></video></figure>



<h4 class="wp-block-heading" id="switch-button">Switch button</h4>



<p class="wp-block-paragraph"><a href="https://support.apple.com/en-gb/guide/iphone/iph8de250c54/ios">Gliding Cursor and other switch settings</a><strong> [Apple Support]</strong></p>



<figure class="wp-block-video"><video height="2532" style="aspect-ratio: 1170 / 2532;" width="1170" controls src="https://tab-able.co.uk/wp-content/uploads/2026/04/ScreenRecording_03-12-2026-15-56-21_1.mov"></video></figure>



<h3 class="wp-block-heading">iOS Accessibility features</h3>



<ul class="wp-block-list">
<li><a href="https://support.apple.com/en-gb/guide/iphone/iph3e2e4367/ios">iOS Accessibility Features</a> <strong>[Apple Support]</strong></li>
</ul>



<h3 class="wp-block-heading" id="section4">Barriers Disabled Users Face</h3>



<h4 class="wp-block-heading" id="barrier1">Barrier 1</h4>



<p class="wp-block-paragraph"><a href="https://codepen.io/Tab-able/live/bNwgQLo">Carousel at smaller screens</a> <strong>[CodePen]</strong></p>



<figure class="wp-block-video"><video height="720" style="aspect-ratio: 1280 / 720;" width="1280" controls src="https://tab-able.co.uk/wp-content/uploads/2026/04/Carousel-barrier-for-switch-mouth-stick-Live-Preview-1.mp4"></video></figure>



<h4 class="wp-block-heading" id="barrier2">Barrier 2</h4>



<p class="wp-block-paragraph"><a href="https://support.apple.com/en-gb/102453">Increasing text size on iOS</a> <strong>[Apple Support]</strong></p>



<figure class="wp-block-video"><video height="1080" style="aspect-ratio: 1920 / 1080;" width="1920" controls src="https://tab-able.co.uk/wp-content/uploads/2026/04/Video-Project.mp4"></video></figure>



<h4 class="wp-block-heading" id="barrier3">Barrier 3</h4>



<p class="wp-block-paragraph"><a href="https://experience.thisisgain.com/sector/eaa-experts?utm_term=european%20accessibility%20act&amp;utm_campaign={campaign}&amp;utm_source=adwords&amp;utm_medium=ppc&amp;utm_content=759974160202&amp;hsa_acc=4072695041&amp;hsa_cam=22707330233&amp;hsa_grp=181609501659&amp;hsa_ad=759974160202&amp;hsa_src=g&amp;hsa_tgt=kwd-1248487885146&amp;hsa_kw=european%20accessibility%20act&amp;hsa_mt=b&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gad_source=1&amp;gad_campaignid=22707330233&amp;gbraid=0AAAAA_7PTWNu6x9TH2SdGNL4NsAiSkPWe&amp;gclid=Cj0KCQjw1ZjOBhCmARIsADDuFTBPbXfX_fMNdS-uanC6VuVKvZXbwvO1yqRDj9I_BLbTdFVUSsddKXsaAhYlEALw_wcB">Example of problematic banner animation with text</a> <strong>[GAIN]</strong></p>



<figure class="wp-block-video"><video height="720" style="aspect-ratio: 1280 / 720;" width="1280" controls src="https://tab-able.co.uk/wp-content/uploads/2026/04/European-Accessibility-Act-Experts-_-EAA-Compliance-Support-_-GAIN-1.mp4"></video></figure>



<h3 class="wp-block-heading" id="section5">Barrier-Free Team Practices</h3>



<h4 class="wp-block-heading">Designers</h4>



<ul class="wp-block-list">
<li><a href="https://www.figma.com/resource-library/mobile-first-design/">Mobile-first design</a> <strong>[Figma]</strong></li>



<li><a href="https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html">Understanding the importance of pausing, stopping, or hiding continuous animations</a><strong> [WCAG]</strong></li>
</ul>



<h4 class="wp-block-heading">Developers</h4>



<ul class="wp-block-list">
<li><a href="https://www.deque.com/axe/devtools/linter/">Axe Core Linter</a><strong> [Deque]</strong></li>



<li><a href="https://developer.chrome.com/docs/devtools/accessibility/reference">Accessibility API in Chrome Dev Tools</a><strong> [Google Chrome]</strong></li>



<li><a href="https://www.w3.org/WAI/WCAG22/Techniques/general/G202">Technique for ensuring keyboard support</a> <strong>[WCAG]</strong></li>
</ul>



<h4 class="wp-block-heading">Testers</h4>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/WAI/WCAG22/Understanding/meaningful-sequence.html">Understanding reading orders</a><strong> [WCAG]</strong></li>



<li><a href="https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html">Understanding text resize to 200%</a> <strong>[WCAG]</strong></li>



<li><a href="https://github.com/pa11y/pa11y-dashboard">Pa11y Dashboard</a><strong> [GitHub]</strong></li>
</ul>



<h3 class="wp-block-heading" id="section6">Avoid Overlays</h3>



<ul class="wp-block-list">
<li><a href="https://overlayfactsheet.com/en/">Factsheet &amp; 1000+ signatures discouraging the use of Accessibility Overlays</a><strong> [Overlay Fact Sheet]</strong></li>
</ul>
<p>The post <a href="https://tab-able.co.uk/digital-accessibility-series-ep1-understanding-what-users-face/">Digital Accessibility Series.  Ep1: Understanding What Users Face</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://tab-able.co.uk/wp-content/uploads/2026/04/Carousel-barrier-for-switch-mouth-stick-Live-Preview-1.mp4" length="2473013" type="video/mp4" />
<enclosure url="https://tab-able.co.uk/wp-content/uploads/2026/04/Video-Project.mp4" length="9146505" type="video/mp4" />
<enclosure url="https://tab-able.co.uk/wp-content/uploads/2026/04/European-Accessibility-Act-Experts-_-EAA-Compliance-Support-_-GAIN-1.mp4" length="1145436" type="video/mp4" />
<enclosure url="https://tab-able.co.uk/wp-content/uploads/2026/04/videoplayback.1773166275432.publer.com_.mp4" length="2081741" type="video/mp4" />
<enclosure url="https://tab-able.co.uk/wp-content/uploads/2026/04/ScreenRecording_03-12-2026-15-56-21_1.mov" length="35958286" type="video/quicktime" />

			</item>
		<item>
		<title>Formidable Forms: Where Accessibility Claims Unravel</title>
		<link>https://tab-able.co.uk/formidable-forms-are-not-accessible/</link>
					<comments>https://tab-able.co.uk/formidable-forms-are-not-accessible/#comments</comments>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Fri, 07 Nov 2025 21:34:59 +0000</pubDate>
				<category><![CDATA[WCAG]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[SC 1.3.1]]></category>
		<category><![CDATA[SC 1.3.5]]></category>
		<category><![CDATA[SC 1.4.1]]></category>
		<category><![CDATA[SC 1.4.11]]></category>
		<category><![CDATA[SC 1.4.3]]></category>
		<category><![CDATA[SC 3.3.2]]></category>
		<category><![CDATA[SC 3.3.3]]></category>
		<category><![CDATA[wcag]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=3210</guid>

					<description><![CDATA[<p>This article has been updated to include a response from Formidable Forms at the end. Formidable Forms is a widely used WordPress plugin promoted as accessible. Our testing shows otherwise. Formidable Claims WCAG Accessible Forms WCAG stands for the Web Content Accessibility Guidelines. Formidable Forms gives readers the impression of full WCAG and accessibility compliance, [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/formidable-forms-are-not-accessible/">Formidable Forms: Where Accessibility Claims Unravel</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article has been updated to include a <a href="#response">response from Formidable Forms </a>at the end.</em></p>



<p class="is-style-text-subtitle is-style-text-subtitle--2 wp-block-paragraph">Formidable Forms is a widely used WordPress plugin promoted as accessible. Our testing shows otherwise. </p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--40)">Formidable Claims WCAG Accessible Forms</h2>



<p class="wp-block-paragraph">WCAG stands for the Web Content Accessibility Guidelines. Formidable Forms gives readers the impression of full WCAG and accessibility compliance, a high bar that few industries consistently meet.</p>



<p class="wp-block-paragraph">We’re putting plugin accessibility claims to the test. Let&#8217;s get started by reviewing <a href="https://formidableforms.com/features/wcag-accessible-forms/">their opening claim</a>:</p>



<blockquote class="wp-block-quote has-x-large-font-size is-layout-flow wp-block-quote-is-layout-flow">
<p class="has-large-font-size wp-block-paragraph">&#8220;WCAG Accessible Forms + A11Y Compliance”</p>
</blockquote>



<p class="wp-block-paragraph">Alongside other statements of conformance such as:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;When it comes to&nbsp;<strong>ADA&nbsp;</strong>standards,&nbsp;<strong>WCAG</strong>&nbsp;and&nbsp;<strong>A11Y</strong>&nbsp;in website forms, Formidable is an industry leader.&#8221;</p>



<p class="has-large-font-size wp-block-paragraph">&#8220;&#8230;Get Formidable Forms<em>&nbsp;</em>and start building fully WCAG accessible WordPress forms&#8221;</p>
</blockquote>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-e4f37174 wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<p class="wp-block-paragraph">Formidable’s claims may sound reassuring, but we found multiple WCAG failures. There is a clear gap between promise and experience for disabled users, including people who are <strong>blind</strong>, have <strong>low vision</strong>, <strong>cognitive disabilities</strong>, <strong>limited movement</strong>, or who use <strong>assistive technologies</strong>.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1074" height="864" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-20.png" alt="" class="wp-image-3417" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-20.png 1074w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-20-300x241.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-20-1024x824.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-20-768x618.png 768w" sizes="(max-width: 1074px) 100vw, 1074px" /></figure>
</div>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--40)">How is Formidable Measuring Accessibility?</h2>



<p class="wp-block-paragraph"><a href="https://formidableforms.com/wcag-forms-a11y-form-builders/">Formidable measure accessibility</a> using WAVE (an automated scan) and a short manual checklist. The WAVE result showed zero errors, which they appear to treat as sufficient. Their manual checks include <strong>mouse-free operation</strong>, <strong>TITLE attributes</strong>, and <strong>screen reader labelling</strong>.</p>



<p class="wp-block-paragraph">While it is encouraging to see some effort being made, the use of the TITLE attribute is not required for digital accessibility. Other checks address only a limited number of WCAG Success Criteria, and the gap between the claims being made and actual conformance remains significant.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3932e262 wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-full"><img decoding="async" width="831" height="944" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-18.png" alt="" class="wp-image-3403" style="object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-18.png 831w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-18-264x300.png 264w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-18-768x872.png 768w" sizes="(max-width: 831px) 100vw, 831px" /></figure>



<p class="is-style-default wp-block-paragraph">Automated tools only check the tip of the iceberg. <a href="https://www.youtube.com/watch?v=o-YRFzJWmFI">Independent studies</a> have found that tools like WAVE cover, at best, around 15 percent of WCAG success criteria.</p>
</div>



<p class="wp-block-paragraph">Automated tools are useful for spotting surface-level issues, but they cannot verify whether a form is genuinely accessible. Unless Formidable Forms are clearly explaining how accessibility is being integrated into their product, with transparent steps and user-centred evidence, it is unlikely that inclusion is an ongoing part of their process.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--40)">What Formidable Forms Is Doing Well</h2>



<p class="wp-block-paragraph">Formidable Forms shows signs that accessibility has been considered at some point. Some features suggest that effort was made to support screen reader users, including:</p>



<ul class="wp-block-list">
<li>Use of standard HTML form controls</li>



<li>Correct field labels</li>



<li>Required and invalid states appropriately identified</li>



<li>Some error messages correctly associated</li>
</ul>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--40)">Where Formidable Forms Falls Short</h2>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<p class="wp-block-paragraph">Despite some early signs of screen reader support, we found several WCAG failures in a basic form using default fields. Formidable says all versions are accessible, but these issues create real barriers for people with disabilities.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="861" height="501" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-17.png" alt="" class="wp-image-3405" style="object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-17.png 861w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-17-300x175.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-17-768x447.png 768w" sizes="(max-width: 861px) 100vw, 861px" /><figcaption class="wp-element-caption">WCAG Rating: Needs Improvement</figcaption></figure>
</div>



<h3 class="wp-block-heading">Not Entirely Screen Reader Friendly</h3>



<p class="wp-block-paragraph" id="sc-1-3-1">Fails SC 1.3.1 – Info and Relationships</p>



<p class="wp-block-paragraph">Screen readers in forms mode will not announce nearby text unless it is programmatically associated. This is especially important because users, including those who are blind or have low vision, often move between fields. If the message is not linked to the field, it will be missed.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3932e262 wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="477" src="https://tab-able.co.uk/wp-content/uploads/2025/11/Untitled-design-21-1024x477.png" alt="" class="has-border-color wp-image-3248" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/Untitled-design-21-1024x477.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/Untitled-design-21-300x140.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/Untitled-design-21-768x358.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/Untitled-design-21.png 1121w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Error messages related to groups of fields, such as “Checkboxes cannot be blank” are not programmatically associated.</p>
</div>
</div>



<h3 class="wp-block-heading">No Autocomplete Support</h3>



<p class="wp-block-paragraph" id="sc-1-3-5">Fails SC 1.3.5 – Input Purpose</p>



<p class="wp-block-paragraph">When autocomplete is missing or misconfigured, people with memory, motor, or language impairments may struggle to complete forms at all. Without access to their stored personal data, even basic tasks like entering a name, email, and phone number can become barriers.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="645" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-2-1024x645.png" alt="" class="has-border-color wp-image-3251" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-2-1024x645.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-2-300x189.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-2-768x484.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-2.png 1275w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Personal fields such as first name, last name, email, and phone do not support autocompletion. </p>
</div>



<h3 class="wp-block-heading">Poor Focus Visibility</h3>



<p class="wp-block-paragraph" id="sc-1-4-1">Fails SC 1.4.1 – Use of Color</p>



<p class="wp-block-paragraph">The submit button changes colour on focus, but not enough. Users navigating by keyboard, including those with low vision, cannot reliably see where they are.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large is-resized has-custom-border"><img loading="lazy" decoding="async" width="1024" height="734" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-13-1024x734.png" alt="" class="has-border-color wp-image-3281" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover;width:391px;height:auto" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-13-1024x734.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-13-300x215.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-13-768x551.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-13.png 1449w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li>Default state: #4199FD (blue)</li>



<li>Focused state: #3680D3 (slightly darker blue)</li>



<li>Contrast Ratio: <strong>1.38:1</strong> (minimum is 3:1)</li>
</ul>
</div>



<h3 class="wp-block-heading">Low Contrast Text</h3>



<p class="wp-block-paragraph" id="sc-1-4-3">Fails SC 1.4.3 – Contrast (Minimum)</p>



<p class="wp-block-paragraph">People with low vision cannot easily read text when it is presented on bright colours. The minimum contrast threshold of text against background is <strong>4.5:1</strong> in this context.</p>



<h4 class="wp-block-heading">Submit Button</h4>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large is-resized has-custom-border"><img loading="lazy" decoding="async" width="1024" height="653" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-7-1024x653.png" alt="" class="has-border-color wp-image-3261" style="border-color:#858585;border-width:1px;border-radius:20px;width:391px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-7-1024x653.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-7-300x191.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-7-768x490.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-7.png 1489w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li>Default Contrast Ratio: white on blue (#4199fd) = <strong>2.91:1</strong></li>



<li>Focused Contrast Ratio: darker blue (#3680d3) = <strong>4.01:1</strong></li>
</ul>
</div>



<h4 class="wp-block-heading">Error Text</h4>



<p class="wp-block-paragraph">For example, &#8220;There was a problem with your submission. Errors are marked below.&#8221;</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large is-resized has-custom-border"><img loading="lazy" decoding="async" width="1024" height="412" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-8-1024x412.png" alt="" class="has-border-color wp-image-3264" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover;width:373px;height:auto" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-8-1024x412.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-8-300x121.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-8-768x309.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-8.png 1341w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li>Red text (#F04438)</li>



<li>On Pink (#FEE4E2)</li>



<li>Contrast Ratio = <strong>3.11:1</strong></li>
</ul>
</div>



<h3 class="wp-block-heading">Low Contrast Field Borders</h3>



<p class="wp-block-paragraph" id="sc-1-4-11">Fails SC 1.4.11 – Non-Text Contrast</p>



<p class="wp-block-paragraph">This makes fields hard to perceive for people with low vision.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-full is-resized has-custom-border"><img loading="lazy" decoding="async" width="1254" height="540" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-9.png" alt="" class="has-border-color wp-image-3267" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover;width:441px;height:auto" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-9.png 1254w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-9-300x129.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-9-1024x441.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-9-768x331.png 768w" sizes="auto, (max-width: 1254px) 100vw, 1254px" /></figure>



<ul class="wp-block-list">
<li>Border colour: grey (#d0d5dd)</li>



<li>Adjacent colour: white</li>



<li>Contrast Ratio: <strong>1.47:1 </strong>(minimum is 3:1)</li>
</ul>
</div>



<h3 class="wp-block-heading">Missing Labels and Instructions</h3>



<p class="wp-block-paragraph" id="sc-3-3-2">Fails SC 3.3.2 – Labels or Instructions</p>



<p class="wp-block-paragraph">People with cognitive, language, and learning disabilities cannot easily predict data formats.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="357" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-11-1024x357.png" alt="" class="has-border-color wp-image-3270" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-11-1024x357.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-11-300x104.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-11-768x267.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-11.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Validation rules are not explained in labels or instructions. For example, phone numbers cannot contain brackets or extra spaces, but users are not told this. </p>
</div>



<h3 class="wp-block-heading">Poor Error Suggestions</h3>



<p class="wp-block-paragraph" id="sc-3-3-3">Fails SC 3.3.3 – Error Suggestion</p>



<p class="wp-block-paragraph">People with cognitive or motor disabilities cannot easily correct their input without descriptive error messages.</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-af0459cd wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px">
<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="343" src="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-10-1024x343.png" alt="" class="has-border-color wp-image-3268" style="border-color:#858585;border-width:1px;border-radius:20px;object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-10-1024x343.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-10-300x100.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-10-768x257.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/11/No-Autocomplete-10.png 1254w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">When users enter the wrong format, they see vague messages like “Please match the requested format.”</p>
</div>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--40)">Summary</h2>



<p class="wp-block-paragraph">Formidable Forms markets itself as accessible. But our testing shows it fails multiple WCAG criteria right out of the box.</p>



<p class="wp-block-paragraph">So what does “accessible” really mean? From a user&#8217;s point of view, it can be hard to tell what&#8217;s genuine conformance and what&#8217;s marketing fluff. That&#8217;s exactly what we&#8217;re exploring next at Tab-able. We want to help you build forms that work for everyone.</p>



<div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-ae7f67b7 wp-block-group-is-layout-constrained" style="padding-right:0px;padding-left:0px">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="lightbulb has-accent-5-background-color has-background has-medium-font-size wp-block-paragraph"><strong>Plugin Users: </strong>if you&#8217;re ever unsure about a plugin&#8217;s accessibility claims, <a href="https://tab-able.co.uk/get-in-touch/">ask us to review it</a> before you install.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="lightbulb has-base-color has-contrast-background-color has-text-color has-background has-link-color has-medium-font-size wp-elements-2 wp-block-paragraph"><strong>Plugin Authors: </strong>We share these findings to inform, not to criticise. <a href="https://tab-able.co.uk/accessibility-partnerships/">Partner with us</a> to turn them into clear, practical accessibility.</p>
</div>
</div>
</div>



<h2 class="wp-block-heading" id="response">Response from Formidable Forms</h2>



<p class="wp-block-paragraph">Formidable Forms have taken the feedback seriously and <a href="https://wordpress.org/support/topic/formidable-forms-is-not-accessible/">responded </a>with the following points:</p>



<ul class="wp-block-list">
<li>[<a href="#sc-1-3-1">SC 1.3.1</a>] This will be resolved internally</li>



<li>[<a href="#sc-1-3-5">SC 1.3.5</a>] Autocompletion is available as a field on the Pro version, but free versions can amend the shortcode in custom HTML</li>



<li>[<a href="#sc-1-4-1">SC 1.4.1</a>, <a href="#sc-1-4-3">SC 1.4.3</a>, <a href="#sc-1-4-11">SC 1.4.11</a>] Acknowledged</li>



<li>[<a href="#sc-1-4-11">SC 3.3.2</a>, <a href="#sc-3-3-3">SC 3.3.3</a>] Not resolved at the moment. </li>
</ul>



<h2 class="wp-block-heading">Resources</h2>



<ul class="wp-block-list">
<li><a href="https://formidableforms.com/features/wcag-accessible-forms/">[Formidable] Opening Claims on WCAG</a></li>



<li><a href="https://formidableforms.com/wcag-forms-a11y-form-builders#how-evaluate-wcag-forms">[Formidable] Automated and Manual WCAG Methodology</a></li>



<li><a href="https://wordpress.org/support/topic/formidable-forms-is-not-accessible/#post-18714034">[Formidable] Response</a></li>



<li><a href="https://www.youtube.com/watch?v=o-YRFzJWmFI">[Beau Vass] A false sense of accessibility: What automated testing tools are missing</a></li>



<li><a href="https://tab-able.co.uk/accessibility-solutions/">[Tab-able] Accessibility Solutions for Plugin Authors</a></li>
</ul>
<p>The post <a href="https://tab-able.co.uk/formidable-forms-are-not-accessible/">Formidable Forms: Where Accessibility Claims Unravel</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tab-able.co.uk/formidable-forms-are-not-accessible/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>A11y Tip: &#8220;Read More&#8221; Links</title>
		<link>https://tab-able.co.uk/a11y-tip-read-more-links/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 12:45:39 +0000</pubDate>
				<category><![CDATA[A11yTips]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=3099</guid>

					<description><![CDATA[<p>Audience:&#160;This article is open to all readers, but may be especially useful for designers and developers. We often see links like &#8220;Read more&#8221;. But do they help you understand where it&#8217;s going? Undescriptive links affect everyone, but they can disproportionately impact people with motion, cognitive, or visual difficulties. For these people, clicking a vague link [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-read-more-links/">A11y Tip: &#8220;Read More&#8221; Links</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-accent-5-background-color has-background wp-block-paragraph"><strong>Audience:</strong>&nbsp;This article is open to all readers, but may be especially useful for designers and developers.</p>



<p class="wp-block-paragraph">We often see links like &#8220;Read more&#8221;. But do they help you understand where it&#8217;s going?</p>



<figure class="wp-block-image size-full has-custom-border"><img loading="lazy" decoding="async" width="1024" height="768" src="https://tab-able.co.uk/wp-content/uploads/2025/11/r-1.png" alt="" class="wp-image-3126" style="border-radius:20px;aspect-ratio:16/9;object-fit:cover" srcset="https://tab-able.co.uk/wp-content/uploads/2025/11/r-1.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/11/r-1-300x225.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/11/r-1-768x576.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">A mobile user sees a “Read more” link following a paragraph of text.</figcaption></figure>



<p class="wp-block-paragraph">Undescriptive links affect everyone, but they can disproportionately impact people with motion, cognitive, or visual difficulties. For these people, clicking a vague link only to land on the wrong page causes confusion and unnecessary back and forth navigation.</p>



<p class="wp-block-paragraph">To fix this, you have a couple of options:</p>



<ul class="wp-block-list">
<li><strong>Ideal:</strong> rework the link label so it makes sense on its own</li>



<li><strong>Alternative: </strong>add helpful context near to the link and programmatically associate it</li>
</ul>



<h2 class="wp-block-heading">Rework The Link Label (Ideal) </h2>



<p class="wp-block-paragraph">The best way to fix this is to change the link label so it makes sense on its own. For example, instead of &#8220;Read more&#8221;, say <strong>&#8220;Read more about Our Programme&#8221;</strong>. That way, people know what to expect before clicking.</p>



<p class="wp-block-paragraph">This meets WCAG 2.2 Level AA &amp; AAA:</p>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#link-purpose-in-context">Level AA: SC 2.4.4 Link Purpose (In Context)</a></li>



<li><a href="https://www.w3.org/TR/wcag/#link-purpose-link-only">Level AAA: SC 2.4.9 Link Purpose (Link Only)</a></li>
</ul>



<h2 class="wp-block-heading">Or Add Helpful Context</h2>



<p class="wp-block-paragraph">If there isn’t already context before the link, make sure to add it. A heading can help people with motion or cognitive difficulties understand what the link is for. That extra detail makes it easier to choose whether to click.</p>



<p class="wp-block-paragraph">However, people with sight difficulties may still miss the full meaning if the link relies only on nearby text. To help, the link should be coded so that the context is clearly tied to it. This lets their assistive tools give the right information without extra steps.</p>



<p class="wp-block-paragraph">This method meets WCAG 2.2 Level AA: <a href="https://www.w3.org/TR/wcag/#link-purpose-in-context">SC 2.4.4 Link Purpose (In Context)</a></p>



<p class="wp-block-paragraph">Use <code>aria-describedby</code> with an ID that points to nearby text. This links the description to the link so assistive tech can read both together. For example, a screen reader will read &#8220;Read more. Our Programme&#8221;.</p>



<h3 class="wp-block-heading">Method 1: Add Description Manually</h3>



<p class="wp-block-paragraph">If you have access to the template code, you can add the following attributes directly, as shown below.</p>



<p class="wp-block-paragraph"><strong>Simplified example:</strong></p>



<pre class="wp-block-code"><code>&lt;h2 <strong>id="context1"</strong>&gt; Our Programme &lt;/h2&gt;
...
&lt;a href="#" <strong>aria-describedby="context1"</strong>&gt; Read More &lt;/a&gt;</code></pre>



<h3 class="wp-block-heading">Method 2: Use Our Script</h3>



<p class="wp-block-paragraph">If you can&#8217;t do this manually, for example if you&#8217;re a content editor, we’ve automated it for you <a href="https://codepen.io/Tab-able/pen/emJPMJO">via the script in our CodePen</a>.</p>



<p class="wp-block-paragraph">Either integrate the JavaScript from that CodePen into your content management system using a suitable tool, or ask your developers to do it for you. Then ensure:</p>



<ul class="wp-block-list">
<li>There is a descriptive heading before the link</li>



<li>The link has the HTML class <code>described</code></li>
</ul>



<p class="wp-block-paragraph"><strong>Caveat</strong>: some screen readers do not have descriptions enabled by default. This means <code>aria-describedby</code> relies on users having that feature turned on to receive the added context.</p>



<p class="wp-block-paragraph">Now your “Read more” links should be clear, accessible and WCAG compliant. This reduces confusion and improves the experience for all users.</p>



<p class="wp-block-paragraph">We hope this article has helped you meet at least WCAG Level AA. If you found it useful, please share it and leave a comment below. Your feedback helps us improve and reach more people.</p>



<h2 class="wp-block-heading">Resources</h2>



<ul class="wp-block-list">
<li><a href="https://cdpn.io/pen/debug/emJPMJO?authentication_hash=WPkLYyPaGRjM">CodePen Demonstration</a></li>



<li><a href="https://www.w3.org/TR/wcag/#link-purpose-in-context">Success Criterion 2.4.4&nbsp;Link Purpose (In Context)</a></li>



<li><a href="https://www.w3.org/TR/wcag/#link-purpose-link-only">Success Criterion 2.4.9&nbsp;Link Purpose (Link Only)</a></li>
</ul>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-read-more-links/">A11y Tip: &#8220;Read More&#8221; Links</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Episode 5: The Tree That Endures</title>
		<link>https://tab-able.co.uk/episode-5-the-tree-that-stays-strong/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Wed, 01 Oct 2025 04:47:07 +0000</pubDate>
				<category><![CDATA[S1E5]]></category>
		<category><![CDATA[Video Without Vision]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=2472</guid>

					<description><![CDATA[<p>From the Series: Video Without Vision This final episode shows how the accessibility tree turns a video player into something blind users can press, play, and enjoy. This is for curious readers, as well as&#160;Accessibility Experts,&#160;Developers, and&#160;Testers. Blind people use screen readers to navigate and operate videos. When they do, the screen reader checks what [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/episode-5-the-tree-that-stays-strong/">Episode 5: The Tree That Endures</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="is-style-text-subtitle has-x-large-font-size is-style-text-subtitle--5 wp-block-paragraph" style="text-transform:capitalize">From the Series: <a href="https://tab-able.co.uk/video-without-vision/">Video Without Vision</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="is-style-text-subtitle is-style-text-subtitle--6 wp-block-paragraph">This final episode shows how the accessibility tree turns a video player into something blind users can press, play, and enjoy.</p>



<p class="wp-block-paragraph"><em>This is for curious readers, as well as&nbsp;<strong>Accessibility Experts</strong>,&nbsp;<strong>Developers</strong>, and&nbsp;<strong>Testers</strong>.</em></p>



<p class="wp-block-paragraph">Blind people use screen readers to navigate and operate videos. When they do, the screen reader checks what type of control each part is. It looks for the type of button, its name, and whether it is open. It does not rely on how things look. It relies on what the website tells it.</p>



<p class="wp-block-paragraph">This information comes from something called the Accessibility Tree. The webpage is the trunk, the video player is a main branch, the controls are smaller branches, and the content is the leaves. Trees make useful analogies because they can hide bugs and all sorts of critters.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1-1024x576.png" alt="" class="wp-image-2489" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep5-Imagery-1.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">It’s a eucalyptus tree with a koala in it, used to represent the Accessibility Tree.</figcaption></figure>



<p class="wp-block-paragraph">This gets technical for good reason. If you&#8217;re up for a challenge, read on. We&#8217;re here to help, not to scare you off.</p>



<p class="wp-block-paragraph">We&#8217;ll look at WCAG rules that help keep things in the tree organised and easy to recognise.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">WCAG Robust: 2 Rules for Blind Video Access</h2>



<p class="wp-block-paragraph">The WCAG Principle <strong>Robust </strong>includes two rules that apply to making video <strong>players </strong>accessible for blind users:</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6-1024x576.png" alt="" class="wp-image-2544" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-6.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#name-role-value">4.1.2 Name, Role, Value</a></li>



<li><a href="https://www.w3.org/TR/wcag/#status-messages">4.1.3 Status Messages</a></li>
</ul>



<p class="wp-block-paragraph">Let’s unpack these in plain language.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Does Your Video Have Controls?</h2>



<p class="wp-block-paragraph">If your video is decorative and has no controls, and you’ve met earlier episodes, congratulations because your video is accessible to blind users.</p>



<p class="wp-block-paragraph">For everyone else we have to consider the following:</p>



<ul class="wp-block-list">
<li>Controls must clearly tell screen readers what they are, what they do, and whether they can be changed by the user</li>



<li>Status messages must be written so that screen readers and other assistive technologies can understand and announce them clearly</li>
</ul>



<p class="wp-block-paragraph">Video players often include different types of controls. Some trigger actions, while others let users make choices.</p>



<p class="wp-block-paragraph">All controls must be built so that screen reader users can understand and predict how they work. This means following official specifications.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8-1024x576.png" alt="" class="wp-image-2548" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-8.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The HTML and ARIA specifications explain how to build controls that work reliably across assistive technologies. These include desktop screen readers such as JAWS, NVDA, and Narrator, and mobile screen readers such as VoiceOver for iOS and MacOS, and TalkBack for Android. Users may be using any version of these tools.</p>



<p class="wp-block-paragraph">Consistent specifications are essential. They help ensure that behaviour is predictable across all platforms.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Standard Buttons</h2>



<p class="wp-block-paragraph">Most video player controls are buttons that trigger actions like Play, Fast-forward, or Mute.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12-1024x576.png" alt="" class="wp-image-2555" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-12.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Controls such as play, replay, rewind, fast-forward, closed captions, etc.</figcaption></figure>



<p class="wp-block-paragraph">Blind screen reader users must be able to access both the name and role of each button. This helps them understand what the button is and what it does.</p>



<p class="wp-block-paragraph">In video players, buttons are usually shown as icons. Their accessible name often comes from the icon’s text alternative or from an aria-label. That’s fine, as long as the name clearly describes what the button does. For example, use “Play” for a play button.</p>



<p class="wp-block-paragraph">In addition to identifying the button, screen readers need to know its role to know what type of widget it is. </p>



<p class="wp-block-paragraph">The simplest way to do this is by using the standard HTML&nbsp;<code>&lt;button&gt;</code>&nbsp;element, which automatically carries the role of “button”.</p>



<p class="wp-block-paragraph">Simplified example of a native button:</p>



<pre class="wp-block-code"><code>&lt;<strong>button </strong>...&gt;</code></pre>



<p class="wp-block-paragraph">If you cannot use&nbsp;<code>&lt;button&gt;</code>, you must add&nbsp;<code>role="button"</code>&nbsp;to your element to ensure it is recognised correctly. This is not the end of the world, but it won&#8217;t come with any bells and whistles. You&#8217;ll need to create that via scripts as well as ensuring it is keyboard accessible, including activating with the SPACE key.</p>



<p class="wp-block-paragraph">Basic example of an ARIA button using a link with some keyboard support:</p>



<pre class="wp-block-code"><code>&lt;a href="#" <strong>role="button"</strong>&gt;</code></pre>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Reveal Buttons</h2>



<p class="wp-block-paragraph">Some video players include other types of buttons, such as a control that reveals extra options. This is often shown as a settings cog icon.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15-1024x576.png" alt="" class="wp-image-2565" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-15.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Cog icon control revealing options &#8220;Captions&#8221;, &#8220;Descriptions&#8221;, and &#8220;Keyboard&#8221;.</figcaption></figure>



<p class="wp-block-paragraph">This type of control is known as a menu button and displays a list of options when activated.</p>



<p class="wp-block-paragraph">It must meet the same requirements as standard buttons, plus a few more:</p>



<ul class="wp-block-list">
<li>Users must know has a menu</li>



<li>Users must know when the menu has been opened</li>



<li>Users must know what kind of widget each option is</li>



<li>Each option must have a clear name</li>
</ul>



<h3 class="wp-block-heading">Menu Popup</h3>



<p class="wp-block-paragraph">The <code>aria-haspopup="menu"</code> (or <code>aria-haspopup="true"</code>) attribute is placed on the menu button itself. This tells screen reader users that activating the button will reveal a menu of options.</p>



<p class="wp-block-paragraph">Simplified example of the popup type:</p>



<pre class="wp-block-code"><code>&lt;button ...<strong>aria-haspopup="menu"</strong>&gt;</code></pre>



<h3 class="wp-block-heading">Menu Open</h3>



<p class="wp-block-paragraph">The <code>aria-expanded</code> attribute is placed on the menu button itself. Set it to <code>true</code> when the menu is open, and <code>false</code> when it is closed. This lets blind users know whether the options are currently visible.</p>



<p class="wp-block-paragraph">Simplified example of the revealed state:</p>



<pre class="wp-block-code"><code>&lt;button ...aria-expanded<strong>="true"</strong>&gt;</code></pre>



<p class="wp-block-paragraph">Simplified example of the hidden state:</p>



<pre class="wp-block-code"><code>&lt;button ...aria-expanded="<strong>false</strong>"&gt;</code></pre>



<h3 class="wp-block-heading">Option Type</h3>



<p class="wp-block-paragraph">The type we set will depend on what the option does.</p>



<ul class="wp-block-list">
<li><code>menuitem</code> performs an action when selected</li>



<li><code>menuitemcheckbox</code> selects or deselects an option; multiple checkboxes in the group can be selected</li>



<li><code>menuitemradio</code> selects one option from a group; only one can be active at a time</li>
</ul>



<p class="wp-block-paragraph">In the case of checkboxes and radio options, the checked states must be conveyed by the tree via states via <code>aria-checked</code>.</p>



<p class="wp-block-paragraph">Options must be grouped inside an element with <code>role="menu"</code>.</p>



<p class="wp-block-paragraph">Here’s a simplified example of quality options with SD selected:</p>



<pre class="wp-block-code"><code>&lt;div <strong>role="menu"</strong>&gt;
   &lt;div ...<strong>role="menuitemradio"</strong> <strong>aria-checked="true"</strong>&gt; Standard Definition (SD) &lt;/div&gt;
   &lt;div ...<strong>role="menuitemradio"</strong> aria-checked="<strong>false</strong>"&gt; High Definition (HD) &lt;/div&gt;
&lt;/div&gt;</code></pre>



<h3 class="wp-block-heading">Option Name</h3>



<p class="wp-block-paragraph">The name of each option should be clear and come directly from its value. If you use plain text and the correct role, the accessibility name is automatically set. For example, in the previous simplified quality options, the names are “Standard Definition (SD)” and “High Definition (HD)”.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19-1024x576.png" alt="" class="wp-image-2571" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-19.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Quality options such as 1080p (HD), 720p, 480p, 360p, etc.</figcaption></figure>



<p class="wp-block-paragraph">All together we have something that looks like this:</p>



<pre class="wp-block-code"><code>&lt;button aria-label="Settings" aria-haspopup="menu" aria-expanded="true"&gt;...&lt;/button&gt;

&lt;div role="menu" style="display:block"&gt;
  &lt;div role="menuitemradio" aria-checked="true"...&gt; SD &lt;/div&gt;
  &lt;div role="menuitemradio" aria-checked="false"...&gt; HD &lt;/div&gt;
&lt;/div&gt;</code></pre>



<p class="wp-block-paragraph"><strong>Technical note:</strong> We left out <code>aria-controls</code> on the menu button and <code>aria-labelledby</code> on the menu to keep things simple. These attributes are not required to meet WCAG, but they can help screen reader users. To learn more, see the <a href="https://www.w3.org/TR/wai-aria-1.2/#menu">ARIA specification</a> and the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-actions-active-descendant/">APG Menu Button example</a>.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Sliders</h2>



<p class="wp-block-paragraph">Most video players use a slider for the timeline. If there are detailed volume settings, you might find another slider for that too.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18-1024x576.png" alt="" class="wp-image-2568" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-18.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The slider lets users choose a point within a range, like 10 minutes into a 20 minute video. </p>



<p class="wp-block-paragraph">Blind screen reader users must know:</p>



<ul class="wp-block-list">
<li>What the slider is for</li>



<li>Know it is a slider</li>



<li>What value it is set to, in context</li>
</ul>



<h3 class="wp-block-heading">What the Slider Is For</h3>



<p class="wp-block-paragraph">Even if your video player has only one slider, it still needs a name. Sighted users may see it as the timeline, but blind users will not know unless it is labelled.</p>



<p class="wp-block-paragraph">Sliders often appear without a visible label, so the best option is to name it using <code>aria-label</code>.</p>



<p class="wp-block-paragraph">Example with two sliders: one for the timeline, one for volume.</p>



<pre class="wp-block-code"><code>aria-label="Timeline"
aria-label="Volume"</code></pre>



<h3 class="wp-block-heading">Know It Is a Slider</h3>



<p class="wp-block-paragraph">Blind screen reader users must be able to recognise that a slider is a slider. This depends on how its role is conveyed.</p>



<p class="wp-block-paragraph">There are two common approaches. One is a custom slider pattern, though support on Android has been patchy. The other is a native HTML <code>input</code> element. Both expose the correct role, but the native input offers wider accessibility support.</p>



<p class="wp-block-paragraph">To convey the role with a native input, set its type to <code>range</code>. This automatically gives it the role of slider.</p>



<p class="wp-block-paragraph">Simplified example of a native slider:</p>



<pre class="wp-block-code"><code>&lt;input ...<strong>type="range"</strong>&gt;</code></pre>



<p class="wp-block-paragraph">What Value It Is Set To, In Context</p>



<p class="wp-block-paragraph">Sliders let users pick a point within a set range by moving a thumb control.</p>



<p class="wp-block-paragraph">Blind screen reader users need to hear the current position of the thumb, both when the slider loads and as it moves. They also need to know the minimum and maximum values.</p>



<p class="wp-block-paragraph">This is handled using HTML attributes:</p>



<ul class="wp-block-list">
<li><code>min</code>: the start of the range</li>



<li><code>max</code>: the end of the range</li>



<li><code>step</code>: how far the thumb moves with each change</li>



<li><code>value</code>: the current position of the thumb</li>
</ul>



<p class="wp-block-paragraph">Each attribute helps screen readers describe the slider clearly and accurately.</p>



<p class="wp-block-paragraph">Simplified example&nbsp;of a thumb point half way through:</p>



<pre class="wp-block-code"><code>min="0" max="20" step="20" value="10"</code></pre>



<p class="wp-block-paragraph">Here’s how the complete slider might be structured:</p>



<pre class="wp-block-code"><code>&lt;input 
  aria-label="Timeline"
  type="range"
  min="0" 
  max="20" 
  step="20" 
  value="10"&gt;</code></pre>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Let The Message Through</h2>



<p class="wp-block-paragraph">A status message is a short update that appears while something is happening. It tells the user what worked or what didn’t. You don’t need to press anything to remove it.</p>



<p class="wp-block-paragraph">For example, on YouTube, pressing the RIGHT ARROW key while focused on the timeline nudges the video forward. A message like “5 seconds” appears with an icon, confirming the jump.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21-1024x576.png" alt="" class="wp-image-2576" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-21.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The main goal here is to make sure blind screen reader users can hear status messages.</p>



<p class="wp-block-paragraph">To do this, apply <code>role="status"</code> to the container that holds the message. Because of a screen reader quirk, the role must be present for a few seconds before adding any content.</p>



<p class="wp-block-paragraph">When used properly, screen readers will announce the message as soon as they can, without breaking the user&#8217;s flow. This works well for short updates like confirmations or small errors.</p>



<p class="wp-block-paragraph">Simplified Example of a status message:</p>



<pre class="wp-block-code"><code>&lt;div <strong>role="status"</strong>&gt; Fast-forwarded 5 seconds &lt;/div&gt;</code></pre>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Congratulations! Your Video Is Now Accessible to Blind People</h2>



<p class="wp-block-paragraph">Well done for completing our series!</p>



<p class="wp-block-paragraph">Depending on how your videos were built, this may have been a long road and one that you can be proud of. </p>



<p class="wp-block-paragraph">Please do not underestimate what you have achieved. Making your videos accessible to blind people is a meaningful step towards inclusive design. Be proud of that. Many people never even read about accessibility. You stayed the course. That matters.</p>



<p class="wp-block-paragraph">If this series helped you, share your achievement on social media. Tag us with <strong>#TabAble</strong> or find us on LinkedIn under <strong><a href="https://www.linkedin.com/company/106680375">@tab-able</a></strong>. Let others know your video now works for blind people.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3-1024x576.png" alt="" class="wp-image-2537" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/10/Ep5-Imagery-3.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<p>The post <a href="https://tab-able.co.uk/episode-5-the-tree-that-stays-strong/">Episode 5: The Tree That Endures</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Episode 4: Preventing “Wait, What?”</title>
		<link>https://tab-able.co.uk/episode-4-preventing-wait-what/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Tue, 30 Sep 2025 06:33:37 +0000</pubDate>
				<category><![CDATA[S1E4]]></category>
		<category><![CDATA[Video Without Vision]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=780</guid>

					<description><![CDATA[<p>From the Series: Video Without Vision This episode explores how to keep blind users oriented so they know exactly what just happened and what will happen next. This is for curious readers, as well as Accessibility Experts, Developers, and Testers. You know that feeling when you click a link and land on a “404 – [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/episode-4-preventing-wait-what/">Episode 4: Preventing “Wait, What?”</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="is-style-text-subtitle has-x-large-font-size is-style-text-subtitle--9 wp-block-paragraph" style="text-transform:capitalize">From the Series: <a href="https://tab-able.co.uk/video-without-vision/">Video Without Vision</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="is-style-text-subtitle is-style-text-subtitle--10 wp-block-paragraph">This episode explores how to keep blind users oriented so they know exactly what just happened and what will happen next.</p>



<p class="wp-block-paragraph"><em>This is for curious readers, as well as <strong>Accessibility Experts</strong>, <strong>Developers</strong>, and <strong>Testers</strong>.</em></p>



<p class="wp-block-paragraph">You know that feeling when you click a link and land on a “404 – Page Not Found”? You were expecting something familiar, something useful. Instead, you’re somewhere else entirely, with no clue how you got there. That’s what it feels like for blind users when a video player suddenly shifts them away.</p>



<p class="wp-block-paragraph">Fortunately, these experiences are covered by accessibility guidelines.</p>



<p class="wp-block-paragraph">The WCAG Principle <em>Understandable</em> includes 21 success criteria. But when we focus specifically on video players and blind users, only <strong>4</strong> are generally relevant. </p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3-1024x576.png" alt="" class="wp-image-2456" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-3.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Level A</h3>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#on-focus">3.2.1 On Focus</a></li>



<li><a href="https://www.w3.org/TR/wcag/#on-input">3.2.2 On Input</a></li>
</ul>



<h3 class="wp-block-heading">Level AA</h3>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#language-of-parts">3.1.2 Language of Parts</a></li>



<li><a href="https://www.w3.org/TR/wcag/#consistent-identification">3.2.4 Consistent Identification</a></li>
</ul>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Specific to Video Players</h2>



<p class="wp-block-paragraph">To be clear, this guidance relates solely to video playback and its controls. If your video is decorative and has no controls, and you’ve met all criteria from previous episodes, congratulations, your video is accessible to blind users.</p>



<p class="wp-block-paragraph">For everyone that has a video player, we need to consider that:</p>



<ul class="wp-block-list">
<li>Controls do not initiate unexpected changes of context</li>



<li>Controls responsible for selecting language must present those languages with the correct pronunciation</li>



<li>Multiple videos should have the controls in the same order</li>
</ul>



<h2 class="wp-block-heading" id="sc-3-2-2" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">No Sudden Detours from the Player</h2>



<p class="wp-block-paragraph">When a blind user moves through a video player, and when they activate the controls, there must not be an unexpected change of context. Controls should behave in a predictable way that matches their design pattern. </p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4-1024x576.png" alt="" class="wp-image-2460" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-4.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Not all blind users have zero vision. The goal is to keep them with the video, not move them away. If they’re moved, their screen reader starts announcing unrelated content. They lose their place, cannot reach other video controls, and struggle to return.</p>



<p class="wp-block-paragraph">For basic controls like “Play,” “Mute,” or “Fullscreen,” the expectation is simple. They should do what they say without shifting the user somewhere else. If someone presses TAB to reach the control, they should land on it and stay there. That’s standard behaviour and covered in the previous episode.</p>



<p class="wp-block-paragraph">More complex controls like menus, timelines, and volume sliders need the same care. Pressing ARROW UP to increase the volume should do just that. It should not jump to another control or reset the user’s position. Screen reader users may also use touch, so gestures must behave predictably too.</p>



<h3 class="wp-block-heading">Accessibility Criteria for This Interaction</h3>



<ol class="wp-block-list">
<li>Keyboard users can discover the pause and resume controls in a logical sequence.</li>



<li>Keyboard users can open the more options menu without losing their place or context</li>



<li>Keyboard users can discover and operate the timeline control without losing their place.</li>
</ol>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">The Right Language for the Right Voice</h2>



<p class="wp-block-paragraph">This part isn’t about being left in the dark. But it does help when content speaks up in the right pitch.</p>



<p class="wp-block-paragraph">If your video player offers caption options in different languages, each one must be pronounced correctly by screen readers.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5-1024x576.png" alt="" class="wp-image-2462" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-5.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Subtitle/ CC menu options &#8220;English&#8221; and &#8220;Français&#8221;.</figcaption></figure>



<p class="wp-block-paragraph">This matters most for streaming services with multilingual subtitles. For example, when an English-speaking screen reader user hears the option “Français,” it should be spoken with the correct French pronunciation. That way, the user can understand it and choose confidently.</p>



<p class="wp-block-paragraph">This can be achieved by adding the&nbsp;<code>lang</code>&nbsp;attribute with a relevant language code as its value:</p>



<pre class="wp-block-code"><code>&lt;div ... <strong>lang="fr"</strong>&gt; Français &lt;/div&gt;</code></pre>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Keep the Layout Familiar</h2>



<p class="wp-block-paragraph">When videos appear on multiple pages, their controls must be identified consistently.</p>



<p class="wp-block-paragraph">This means using the same accessible name every time. For example, a control labelled “Play” on one page should not be called “Continue” elsewhere.</p>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6-1024x576.png" alt="" class="wp-image-2469" style="border-radius:29px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-6.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Video players at varied sizes and pages using identical controls.</figcaption></figure>



<p class="wp-block-paragraph">This is easy to maintain when the video player is built as a reusable component.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">Other Rules We Chose Not to Include</h2>



<p class="wp-block-paragraph">If you were expecting other success criteria to appear in this article, and they’re missing, we’d like to hear from you.</p>



<p class="wp-block-paragraph">We’ve reviewed the following criteria and intentionally left them out. The reasons are explained below.</p>



<h3 class="wp-block-heading">Avoid Interrupting the User Without Warning</h3>



<p class="wp-block-paragraph">We chose not to include the rule about interruptions in this article (<a href="https://www.w3.org/TR/wcag/#interruptions">2.2.4 Interruptions</a>.) This rule is designed to protect screen reader users from unexpected updates that can disrupt their experience.</p>



<p class="wp-block-paragraph">An interruption happens when something new is announced without the screen reader knowing. The screen reader may or may not pause its current speech. When it resumes, the user might find themselves further ahead in the content, with no clear way to return.</p>



<p class="wp-block-paragraph">For example, on a stock exchange site, a live update might speak over a paragraph the user is reading. The screen reader continues silently, and when the update ends, it picks up again. The user has missed part of the content and cannot easily go back.</p>



<p class="wp-block-paragraph">This issue does not apply in the same way to video adverts. These interrupt the video itself, not the screen reader. The screen reader stays in sync, and when the advert ends, the user resumes from the same point in the video.</p>



<h3 class="wp-block-heading">Only Change Context When the User Asks</h3>



<p class="wp-block-paragraph">The rule about changes on request  is designed to prevent unexpected shifts in context that users did not trigger (<a href="https://www.w3.org/TR/wcag/#change-on-request">3.2.5 Change on Request</a>.) We’ve already covered changes caused by keyboard focus or input. What remains are changes that happen without any interaction.</p>



<p class="wp-block-paragraph">We do not believe video players introduce these kinds of shifts. Adverts may appear, but they play within the same player. A change in content is not the same as a change in context.</p>



<p class="wp-block-paragraph">Adverts may also not be unexpected. Blind users are just as capable of understanding how streaming platforms use advertising as anyone else.</p>



<h2 class="wp-block-heading" style="margin-top:var(--wp--preset--spacing--50);margin-right:var(--wp--preset--spacing--40)">You&#8217;ve Met Principle Understandable for Blind Users</h2>



<figure class="wp-block-image size-large has-custom-border"><img loading="lazy" decoding="async" width="1024" height="576" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-1024x576.png" alt="" class="wp-image-2437" style="border-radius:20px" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery-1536x864.png 1536w, https://tab-able.co.uk/wp-content/uploads/2025/09/Ep4-Imagery.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">If you’ve followed all the criteria above, congratulations you&#8217;re 80% there. And if your video has no controls to begin with, that’s a valid approach too. Well done either way.</p>



<div class="wp-block-group is-layout-flow wp-container-core-group-is-layout-8e67068c wp-block-group-is-layout-flow" style="padding-top:0px;padding-right:0;padding-bottom:0px;padding-left:0">
<hr class="wp-block-separator has-alpha-channel-opacity is-style-default" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<h2 class="wp-block-heading">Next Episode</h2>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-2472 post type-post status-publish format-standard has-post-thumbnail hentry category-s1e5 category-video-without-vision">
<h3 class="wp-block-post-title"><a href="https://tab-able.co.uk/episode-5-the-tree-that-stays-strong/" target="_self" >Episode 5: The Tree That Endures</a></h3>

<figure class="wp-block-post-featured-image"><a href="https://tab-able.co.uk/episode-5-the-tree-that-stays-strong/" target="_self" ><img loading="lazy" decoding="async" width="1920" height="1080" src="https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9.png" class="attachment-full size-full wp-post-image" alt="Episode 5: The Tree That Endures" style="border-radius:20px;aspect-ratio:16/9;width:100%;object-fit:cover;" srcset="https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9.png 1920w, https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/10/Hero-Video-Without-Vision-9-1536x864.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></figure>
</li></ul></div>
</div>
<p>The post <a href="https://tab-able.co.uk/episode-4-preventing-wait-what/">Episode 4: Preventing “Wait, What?”</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Video Without Vision</title>
		<link>https://tab-able.co.uk/video-without-vision/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Mon, 22 Sep 2025 05:33:32 +0000</pubDate>
				<category><![CDATA[A11y Series]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=1887</guid>

					<description><![CDATA[<p>Video Without Vision shows how to make videos informative and accessible for blind audiences. Each episode supports a different group, from content creators to developers, and draws on the Web Content Accessibility Guidelines (WCAG), including its Principles, Guidelines, and Success Criteria.</p>
<p>The post <a href="https://tab-able.co.uk/video-without-vision/">Video Without Vision</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="is-style-text-subtitle is-style-text-subtitle--12 wp-block-paragraph">Video Without Vision shows how to make videos informative and accessible for blind audiences.</p>



<p class="wp-block-paragraph" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)">Each episode supports a different group, from content creators to developers, and draws on the Web Content Accessibility Guidelines (WCAG), including its Principles, Guidelines, and Success Criteria.</p>
<p>The post <a href="https://tab-able.co.uk/video-without-vision/">Video Without Vision</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A11y Series</title>
		<link>https://tab-able.co.uk/a11y-series/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Mon, 22 Sep 2025 01:19:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=1854</guid>

					<description><![CDATA[<p>A curated collection of accessibility series, each revealing expert techniques that show what inclusive design really takes We’ve spent time writing, illustrating, and solving real accessibility problems to make this series useful and enjoyable. We offer it freely because we believe accessibility should be fun to learn and easy to share. If you’ve enjoyed reading [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/a11y-series/">A11y Series</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group alignfull is-style-section-5 has-global-padding is-layout-constrained wp-container-core-group-is-layout-82abbcc1 wp-block-group-is-layout-constrained is-style-section-5--15" style="margin-top:0px;margin-bottom:0px">
<p class="is-style-text-display has-xx-large-font-size is-style-text-display--16 wp-block-paragraph" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)">A curated collection of accessibility series, each revealing expert techniques that show what inclusive design really takes</p>



<p class="wp-block-paragraph">We’ve spent time writing, illustrating, and solving real accessibility problems to make this series useful and enjoyable. We offer it freely because we believe accessibility should be fun to learn and easy to share.</p>



<p class="wp-block-paragraph">If you’ve enjoyed reading it, please pass it on. Share it with your communities and tag us using #TabAble. We’re listening, and we’d love to bring your ideas into future episodes.</p>
</div>



<div class="wp-block-group alignfull is-style-section-5 has-global-padding is-layout-constrained wp-container-core-group-is-layout-92840f6e wp-block-group-is-layout-constrained is-style-section-5--17" style="margin-top:0px;padding-bottom:var(--wp--preset--spacing--70)">
<h2 class="wp-block-heading is-style-default has-xx-large-font-size" style="margin-bottom:var(--wp--preset--spacing--50)">Exclusively at Tab-able</h2>



<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-container-core-post-template-is-layout-2c089b18 wp-block-post-template-is-layout-flow"><li class="wp-block-post post-1887 post type-post status-publish format-standard has-post-thumbnail hentry category-a11y-series">
<h2 class="wp-block-post-title"><a href="https://tab-able.co.uk/video-without-vision/" target="_self" >Video Without Vision</a></h2>

<figure class="wp-block-post-featured-image"><a href="https://tab-able.co.uk/video-without-vision/" target="_self" ><img loading="lazy" decoding="async" width="1920" height="1080" src="https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Video Without Vision" style="border-radius:20px;object-fit:cover;" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6.png 1920w, https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6-300x169.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6-1024x576.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6-768x432.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/Hero-Video-Series-6-1536x864.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></figure>
</li></ul></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="is-style-text-display is-style-text-display--18 wp-block-paragraph">Want More Series?</p>



<p class="wp-block-paragraph">Want more series or have a topic in mind? Let us know by pinging <a href="https://www.linkedin.com/company/106680375/admin/dashboard/">us on LinkedIn</a> @tab-able.</p>
</div>
<p>The post <a href="https://tab-able.co.uk/a11y-series/">A11y Series</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A11y Tip: Designing For ADHD</title>
		<link>https://tab-able.co.uk/a11y-tip-designing-for-adhd/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Sat, 13 Sep 2025 12:05:32 +0000</pubDate>
				<category><![CDATA[A11yTips]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[EAA]]></category>
		<category><![CDATA[EN 301 549]]></category>
		<category><![CDATA[WCAG]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=1533</guid>

					<description><![CDATA[<p>Audience: This article is open to all readers, but may be especially useful for designers, developers, business analysts, and testers working to improve accessibility for users with ADHD. Awareness of ADHD is growing, but many digital platforms still fall short. One common issue is animation. Continuous movement can make it difficult for people with ADHD [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-designing-for-adhd/">A11y Tip: Designing For ADHD</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-accent-5-background-color has-background has-medium-font-size wp-block-paragraph"><strong>Audience:</strong> This article is open to all readers, but may be especially useful for designers, developers, business analysts, and testers<strong> </strong>working to improve accessibility for users with ADHD.</p>



<p class="wp-block-paragraph">Awareness of ADHD is growing, but many digital platforms still fall short.</p>



<p class="wp-block-paragraph">One common issue is animation. Continuous movement can make it difficult for people with ADHD to focus, creating a serious accessibility barrier. For example:</p>



<ul class="wp-block-list">
<li>Gifs that loop without pause</li>



<li>Pulsating buttons or parts of the page that are designed to attract attention</li>



<li>Looping carousels that rotate automatically</li>



<li>Adverts with flashing or moving elements</li>
</ul>



<p class="wp-block-paragraph">Some animations, like loading icons, can be necessary. Pausing them may suggest the page has frozen. In many cases, users who trigger a loading state are not engaging with the rest of the page, so the animation is unlikely to distract them.</p>



<h2 class="wp-block-heading" id="tip">Tip: Limit or Remove Animations</h2>



<p class="wp-block-paragraph">Animations can add flair, but they should never come at the cost of accessibility. If they create barriers for disabled users, the best option is to remove them. Where removal isn’t practical, keep them brief and easy to control.</p>



<p class="wp-block-paragraph">Limiting animations to <strong>under 5 seconds</strong> can improve usability for people with ADHD. This is especially helpful for attention-grabbing elements, such as those designed to guide users toward key content.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="897" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-1024x897.png" alt="Attention Grabbing such as Pop, Wipe, Tumble, and other animations applied to user interfaces elements" class="wp-image-1587" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-1024x897.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-300x263.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-768x672.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Animations taken from Canva, such as &#8220;Pop&#8221;, &#8220;Wipe&#8221;, &#8220;Blur&#8221;, &#8220;Drift&#8221; and &#8220;Tumble.&#8221;</figcaption></figure>



<p class="wp-block-paragraph">There are several methods that support people with ADHD, though some are more dependable than others. The most effective approach combines multiple techniques to reduce distraction and improve focus.</p>



<h3 class="wp-block-heading" id="method1">Method 1: Honour Device Settings</h3>



<p class="wp-block-paragraph">Respecting device settings is one way to support users with ADHD, though not all users will have these settings enabled. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="957" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-3-1024x957.png" alt="Windows setting &quot;Animation effects&quot; and iOS setting &quot;Reduce Motion&quot;. " class="wp-image-1600" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-3-1024x957.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-3-300x281.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-3-768x718.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-3.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Found in Windows &gt; Accessibility &gt; Visual Effects or iOS Accessibility &gt; Motion</figcaption></figure>



<p class="wp-block-paragraph">Websites can use the <code>prefers-reduced-motion</code> setting to detect when a user has asked for less movement. This does not stop animations. It only asks for them to be reduced.</p>



<p class="wp-block-paragraph">However, if motion continues, even in a softer form, it may still cause problems for users with ADHD. Relying on this setting alone may not be enough.</p>



<p class="wp-block-paragraph">Here is an example of how to use the reduce motion setting to turn off animations entirely:</p>



<pre class="wp-block-code"><code>@media (prefers-reduced-motion: reduce) {
  .animation {
    animation: none;
  }
}</code></pre>



<h3 class="wp-block-heading" id="method2">Method 2: Providing Individual Settings</h3>



<p class="wp-block-paragraph">If animations are limited to a few areas, it may be simpler to offer pause and resume controls for those sections. This is commonly used with autoplaying carousels.</p>



<p class="wp-block-paragraph">A standard HTML button can trigger scripts that pause the movement. For example:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="798" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-5-1024x798.png" alt="" class="wp-image-1616" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-5-1024x798.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-5-300x234.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-5-768x598.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-5.png 1223w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Simplified Code Example:</strong></p>



<pre class="wp-block-code"><code>&lt;button> Pause Carousel &lt;/button>
</code></pre>



<h3 class="wp-block-heading" id="method3">Method 3: Providing Global Settings</h3>



<p class="wp-block-paragraph">If multiple animations are used, a global setting may be more effective. Like a Cookie banner, it can give users control over animation preferences across the site and be recalled after dismissal.</p>



<p class="wp-block-paragraph">One approach is to include a checkbox within a dismissible banner shown on one or all pages.</p>



<p class="wp-block-paragraph">This banner must be easy to find when an animation occurs. Users need to know it exists and understand how to reach it. Making that connection clear is a design challenge. It is difficult to achieve without placing a visible control on every animated element.</p>



<p class="wp-block-paragraph">The banner should be easy to reopen, allowing users to change their preferences when needed. For example:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="521" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-6-1024x521.png" alt="" class="wp-image-1620" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-6-1024x521.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-6-300x153.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-6-768x391.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Designing-for-ADHD-6.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">A global banner with an expanded &#8220;Movement Preferences&#8221; control. Includes instructions &#8220;We use animations&#8230; you can turn them off at any time&#8221; and two checkboxes &#8220;No animations&#8221;, &#8220;Reduced Animations&#8221;.</figcaption></figure>



<p class="is-style-default wp-block-paragraph"><strong>Simplified Code Example:</strong></p>



<pre class="wp-block-code"><code>&lt;section aria-labelledby="region1-name">
  &lt;button id="region1-name" aria-expanded="false" aria-control="region1-content"> Movement Preferences &lt;/button>
  &lt;div id="region1-content" style="display: none">
    &lt;label for="control1">
      &lt;input id="control1" type="checkbox">
      Animations
    &lt;/label>
  &lt;/div>
&lt;/section></code></pre>



<p class="wp-block-paragraph"><strong>Technical note:</strong> the control to reveal preferences is placed within a region landmark to improve findability for those using screen readers.</p>



<h2 class="wp-block-heading" id="recommendation">Our Recommendation</h2>



<div class="wp-block-group has-accent-1-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="border-radius:20px;margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)">
<p class="wp-block-paragraph">Use all 3 methods where practical. Device settings are a good starting point, but not all users rely on them. Adding individual or global controls makes animation settings more predictable and accessible.</p>
</div>



<h2 class="wp-block-heading" id="wcag">WCAG ADHD Requirements</h2>



<p class="wp-block-paragraph">People with ADHD are supported under <a href="https://www.w3.org/TR/wcag/#pause-stop-hide">WCAG Success Criterion 2.2.2 Pause, Stop, Hide</a>.</p>



<p class="wp-block-paragraph">To meet this criterion, one of the following must apply:</p>



<ul class="wp-block-list">
<li>The movement does not run continuously for more than 5 seconds</li>



<li>The movement can be paused, stopped, or hidden</li>



<li>Auto-updating content can be paused, stopped, or hidden</li>
</ul>



<p class="wp-block-paragraph">There is an exception for movement that is essential to understanding the content. If removing the movement would change the meaning, it may be considered essential.</p>



<h2 class="wp-block-heading" id="resources">Resources</h2>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#pause-stop-hide">[WCAG] SC 2.2.2 Pause, Stop, Hide</a></li>
</ul>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-designing-for-adhd/">A11y Tip: Designing For ADHD</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A11y Tip: Device Orientation</title>
		<link>https://tab-able.co.uk/a11y-tip-device-orientation/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Fri, 05 Sep 2025 09:16:17 +0000</pubDate>
				<category><![CDATA[A11yTips]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[EAA]]></category>
		<category><![CDATA[EN 301 549]]></category>
		<category><![CDATA[WCAG]]></category>
		<category><![CDATA[a11y]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[SC 1.3.4]]></category>
		<category><![CDATA[wcag]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=1188</guid>

					<description><![CDATA[<p>Is your site limited to a single screen orientation? Do users see a message like &#8220;Please rotate your device&#8221; when accessing it in portrait mode? If you&#8217;re designing content only for landscape or portrait you might be limiting access for your intended audience. This approach may unintentionally exclude users with disabilities, including those with dexterity [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-device-orientation/">A11y Tip: Device Orientation</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Is your site limited to a single screen orientation? <br>Do users see a message like &#8220;Please rotate your device&#8221; when accessing it in portrait mode?</p>



<p class="wp-block-paragraph">If you&#8217;re designing content only for landscape or portrait you might be limiting access for your intended audience.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="830" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-3-1024x830.png" alt="Are you designing landscape only?" class="wp-image-1213" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-3-1024x830.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-3-300x243.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-3-768x622.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-3.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">This approach may unintentionally exclude users with disabilities, including those with dexterity challenges or low vision.</p>



<p class="wp-block-paragraph">The use of CSS media queries such as <code>landscape</code> or <code>portrait</code> could be contributing to the accessibility issue. </p>



<h2 class="wp-block-heading">Accessibility Issue</h2>



<p class="wp-block-paragraph">Websites that force portrait or landscape mode can make it hard for people who can&#8217;t rotate their device or prefer a certain view.</p>



<p class="wp-block-paragraph">Messages that ask users to rotate their device generally obscure content and limit access.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="910" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-4-1024x910.png" alt="Restricting orientation by providing a message &quot;P;ease rotate your device to landscape mode&quot;?" class="wp-image-1218" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-4-1024x910.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-4-300x267.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-4-768x682.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-4.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Who Is Affected</h2>



<h3 class="wp-block-heading">People with Dexterity Impairments</h3>



<p class="wp-block-paragraph">People whose devices are physically mounted to wheelchairs or who lack the ability to rotate them.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="897" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-8-1024x897.png" alt="A tablet mounted to a wheelchair in a fixed orientation" class="wp-image-1230" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-8-1024x897.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-8-300x263.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-8-768x673.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-8.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">People with Low Vision</h3>



<p class="wp-block-paragraph">People with low vision who zoom in from a landscape monitor to improve readability.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="659" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-9-1024x659.png" alt="A low vision user zooming into a website from desktop and triggering a message &quot;Please rotate your device...&quot;" class="wp-image-1232" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-9-1024x659.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-9-300x193.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-9-768x494.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-9.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Accessibility Tip</h2>



<p class="wp-block-paragraph"><strong>Avoid restricting your website to a single orientation.</strong></p>



<p class="wp-block-paragraph">Content should be usable in whichever orientation the user has chosen.</p>



<p class="wp-block-paragraph">A common design misstep is starting with desktop as the default.<br>It’s tempting to use all that space and build complex layouts that depend on multiple elements being visible at once.</p>



<p class="wp-block-paragraph">To prevent these issues from surfacing later, begin with a mobile-first mindset.<br>And when you do, make sure to support both orientations from the start.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="830" src="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-10-1024x830.png" alt="Embrace user choice by designing your content and functionality to portrait and landscape orientations" class="wp-image-1235" srcset="https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-10-1024x830.png 1024w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-10-300x243.png 300w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-10-768x622.png 768w, https://tab-able.co.uk/wp-content/uploads/2025/09/A11y-Tip-Portrait-Lock-10.png 1245w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">As the designer or developer, you have the creative freedom to make your site inclusive without compromising functionality.</p>



<p class="wp-block-paragraph">Modern design techniques allow content to adapt to smaller or differently shaped screens. </p>



<p class="wp-block-paragraph">There is rarely a technical reason to restrict orientation completely.</p>



<h2 class="wp-block-heading">WCAG Orientation Requirements</h2>



<p class="is-style-text-subtitle is-style-text-subtitle--20 wp-block-paragraph">Orientation restrictions are generally not compliant with WCAG standards.</p>



<p class="wp-block-paragraph">Exceptions apply only when content cannot function in another orientation, such as piano apps or VR interfaces.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>Examples where a particular display orientation may be essential are a <strong>bank check</strong>, a <strong>piano application</strong>, slides for a <strong>projector </strong>or <strong>television</strong>, or <strong>virtual reality content</strong> where content is not necessarily restricted to landscape or portrait display orientation.</p>
</blockquote>



<p class="wp-block-paragraph">To ensure accessibility, it&#8217;s best to avoid enforcing orientation restrictions. These limitations are rarely necessary for most websites and can create barriers for users.</p>



<h2 class="wp-block-heading">Resources</h2>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#orientation">[WCAG] SC 1.3.4 Orientation</a></li>



<li><a href="https://victorianwomenshealthatlas.net.au/#!/atlas/Chronic%20Disease/CD/Asthma/CD_04/2021%20Persons%20ever%20diagnosed/485/F/state/all/false">[Example of orientation restriction on portrait] Victorian Women&#8217;s Health Atlas</a></li>
</ul>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://tab-able.co.uk/a11y-tip-device-orientation/">A11y Tip: Device Orientation</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A11y Tip: Truncating Text</title>
		<link>https://tab-able.co.uk/accessibility-tip-truncating-text/</link>
		
		<dc:creator><![CDATA[Andrew]]></dc:creator>
		<pubDate>Fri, 29 Aug 2025 09:01:41 +0000</pubDate>
				<category><![CDATA[A11yTips]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[EAA]]></category>
		<category><![CDATA[EN 301 549]]></category>
		<category><![CDATA[WCAG]]></category>
		<guid isPermaLink="false">https://tab-able.co.uk/?p=925</guid>

					<description><![CDATA[<p>Truncating text with an ellipsis (&#8230;) may preserve layout, but it risks excluding users with low vision or cognitive disabilities who rely on full content for understanding. If you&#8217;re using CSS properties like text-overflow:ellipsis to force horizontal alignment, that may be the source of the accessibility issue. Accessibility Issue Truncated text can break context for [&#8230;]</p>
<p>The post <a href="https://tab-able.co.uk/accessibility-tip-truncating-text/">A11y Tip: Truncating Text</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Truncating text with an ellipsis (&#8230;) may preserve layout, but it risks excluding users with low vision or cognitive disabilities who rely on full content for understanding.</p>



<p class="wp-block-paragraph">If you&#8217;re using CSS properties like <code>text-overflow:ellipsis</code>  to force horizontal alignment, that may be the source of the accessibility issue.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="910" height="613" src="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-3-edited-1.png" alt="Aligning text horizontally by adding ellipsis on a Breaking News site. The article &quot;Scientists Find...&quot; aligns with another adjacent &quot;City Adds Bike Lanes&quot;" class="wp-image-4737" srcset="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-3-edited-1.png 910w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-3-edited-1-300x202.png 300w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-3-edited-1-768x517.png 768w" sizes="auto, (max-width: 910px) 100vw, 910px" /></figure>



<h2 class="wp-block-heading">Accessibility Issue</h2>



<p class="wp-block-paragraph">Truncated text can break context for users who zoom or adjust spacing, leaving them with cut-off content and no way to access the full message. What others see as a design choice, they experience as a barrier.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="864" height="383" src="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-2-edited-1.png" alt="Someone increases letter spacing on the same Breaking News site. Now the articles read &quot;Scientists...&quot; and &quot;City Adds B...&quot;" class="wp-image-4738" srcset="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-2-edited-1.png 864w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-2-edited-1-300x133.png 300w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Highlighting-Text-2-edited-1-768x340.png 768w" sizes="auto, (max-width: 864px) 100vw, 864px" /></figure>



<h2 class="wp-block-heading">Who It Affects</h2>



<ul class="wp-block-list">
<li>People with cognitive disabilities that increase text properties such as letter-spacing and word-spacing.</li>



<li>People with low vision that increase the size of text or magnify the page.</li>
</ul>



<h2 class="wp-block-heading">Accessibility Tip</h2>



<p class="wp-block-paragraph">Avoid constraining information with ellipses or truncation. Let text wrap naturally, it&#8217;s how the web is designed to work.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="849" height="426" src="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Truncating-Text-1-edited-1.png" alt="With letter spacing increased on the same Breaking News site, the articles now are read without truncation &quot;Scientists find new dinosaur&quot; and &quot;City adds bike lanes&quot;" class="wp-image-4739" srcset="https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Truncating-Text-1-edited-1.png 849w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Truncating-Text-1-edited-1-300x151.png 300w, https://tab-able.co.uk/wp-content/uploads/2026/09/A11y-Tip-Truncating-Text-1-edited-1-768x385.png 768w" sizes="auto, (max-width: 849px) 100vw, 849px" /></figure>



<p class="wp-block-paragraph">If truncation is essential, set a fixed word limit so the same content is truncated for all users. Use HTML to apply the ellipsis after the set number of words, ensuring consistency across devices, zoom levels, and user settings.</p>



<h2 class="wp-block-heading">WCAG Truncation Requirements</h2>



<p class="is-style-default wp-block-paragraph" style="font-style:normal;font-weight:500">Truncation is generally non-compliant unless users can access the full content.</p>



<p class="wp-block-paragraph">For example, an email subject line may appear truncated at first, but expands to reveal the full content when activated.</p>



<p class="wp-block-paragraph">People with low vision and cognitive disabilities are covered in multiple WCAG Success Criteria (SC):</p>



<ul class="wp-block-list">
<li><strong>SC 1.4.4 Resize Text: </strong>information cannot be lost if people choose to zoom in 200% from any responsive version of the page.</li>



<li><strong>SC 1.4.12 Text Spacing: </strong>information cannot be lost if people choose to modify text properties to a range specified in the criterion.</li>
</ul>



<h2 class="wp-block-heading">Resources</h2>



<ul class="wp-block-list">
<li><a href="https://www.w3.org/TR/wcag/#resize-text">[WCAG] Success Criterion 1.4.4 Resize Text</a></li>



<li><a href="https://www.w3.org/TR/wcag/#text-spacing">[WCAG] Success Criterion 1.4.12 Text Spacing</a></li>
</ul>
<p>The post <a href="https://tab-able.co.uk/accessibility-tip-truncating-text/">A11y Tip: Truncating Text</a> appeared first on <a href="https://tab-able.co.uk">Tab-able.co.uk</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
