<?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>Adrian Roselli</title> <atom:link href="https://adrianroselli.com/feed" rel="self" type="application/rss+xml" /> <link>https://adrianroselli.com</link> <description>Consultant, Writer, Speaker</description> <lastBuildDate>Thu, 14 Aug 2025 20:08:22 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <generator>https://wordpress.org/?v=5.9.11</generator> <item> <title>My Thoughts on the State of Surveys</title> <link>https://adrianroselli.com/2025/08/my-thoughts-on-the-state-of-surveys.html</link> <comments>https://adrianroselli.com/2025/08/my-thoughts-on-the-state-of-surveys.html#respond</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Thu, 14 Aug 2025 14:50:36 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[rant]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=35952</guid> <description><![CDATA[Every few months there’s another State of Something survey. As of this week, the State of CSS 2025 survey results have just become available and the State of HTML 2025 survey is wrapping up. This post is skewed to those, touches on more, and is rather disjointed. “2012 Oregon City…]]></description> <content:encoded><![CDATA[<p> Every few months there’s another <a href="https://survey.devographics.com/">State of Something survey</a>. As of this week, the State of CSS 2025 survey results have just become available and the State of HTML 2025 survey is wrapping up. This post is skewed to those, touches on more, and is rather disjointed. </p> <figure class="right half"> <img loading="lazy" src="/wp-content/uploads/2025/08/survey-clipboard_logo_800.jpg" alt="Looking over the shoulder of a woman writing on a form attached to a clipboard; the form has a giant logo that reads, “State of Survey 2025,” in a neon green diamond with purple wrappers, very much in the style of ‘State of’ survey logos." width="800" height="531" class="alignnone size-full wp-image-35990" srcset="https://adrianroselli.com/wp-content/uploads/2025/08/survey-clipboard_logo_800.jpg 800w, https://adrianroselli.com/wp-content/uploads/2025/08/survey-clipboard_logo_800-300x199.jpg 300w, https://adrianroselli.com/wp-content/uploads/2025/08/survey-clipboard_logo_800-768x510.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /> <figcaption>“<a href="https://www.flickr.com/photos/ohioseagrant/7395787498">2012 Oregon City Schools Field Trip</a>” by <a href="https://www.flickr.com/photos/ohioseagrant/">Ohio Sea Grant</a>, <a href="https://creativecommons.org/licenses/by-nc/2.0/deed.en" rel="license noopener noreferrer">CC BY-NC 2.0</a>, modified to add the logo.</figcaption> </figure> <p> I should disclose that I am broadly wary of surveys. I am also not a researcher. My thoughts here are mine alone and driven as much by gut as anything else. </p> <h2 id="Demographics">Demographics</h2> <p> The <a href="https://2025.stateofcss.com/">2025 State of CSS Survey results</a> came out this week. I went to the <a href="https://2025.stateofcss.com/en-US/demographics/">demographics</a> section to get a sense of the participants: </p> <ul> <li>A majority of respondents are white, male, and abled (no disability). A plurality are American.</li> <li>The average respondent age is 36, with 13.4 years of experience and working for a 337 person company.</li> </ul> <p> When looking at the results, consider how much those categories reflect you. Maybe consider that of the <a href="https://2025.stateofcss.com/en-US/resources/#people">people named as resources</a> (including me). This is not a judgment, but an observation. </p> <p> I suspect that some of the low participation from disabled folks may be related to the <a href="https://github.com/Devographics/Monorepo/issues?q=is%3Aissue%20state%3Aopen%20author%3Aaardrian">dozen still-open accessibility bugs</a> I’ve filed against the surveys (I stopped filing). </p> <p> If you go back through other industry surveys, the breakdowns don’t differ much. Chris Ferdinandi <a href="https://bsky.app/profile/cferdinandi.bsky.social/post/3ldkfc47rdc2t">identified this in the State of JavaScript 2024 survey</a>. Miriam Suzanne talked about this in her November post <cite><a href="https://www.oddbird.net/2024/11/04/css-demographics/">What do survey demographics tell us?</a></cite>. I noted the <a href="https://toot.cafe/@aardrian/114592823821457706">Stack Overflow survey didn’t ask about disability</a> at all. </p> <h2 id="Accessibility">Accessibility Data</h2> <p> In the State of CSS 2025 <a href="https://2025.stateofcss.com/en-US/features/#interactions_pain_points">Interactions Pain Points</a> section, the survey asked <q>What are your top CSS pain points related to interactions?</q> Respondents were offered five freeform text fields. </p> <p> 24 out of 321 responses (7%) included accessibility. 8 of those named CSS carousels, with a couple angry. 8 cited a failure of the CSS Working Group. </p> <p> When you go to the section covering <a href="https://2025.stateofcss.com/en-US/features#all_features">All Features</a> and filter by only “accessibility” nothing shows up. There were no questions about accessibility. It’s interesting (to me) there is that much about accessibility (and CSSWG process) given the demographic breakdown I cited </p> <p> This is despite an overwhelmingly abled respondent pool. </p> <p> So I’m pleased to see accessibility still percolate up in these results, even if it wasn’t asked. I want to see that happen more. </p> <h2 id="Selection">Selection Bias</h2> <p> If you want your general developer survey to produce lots of content on “AI”, for example, <a href="https://bsky.app/profile/aardrian.bsky.social/post/3lqdeth43rs2e">make “AI” 23% of all questions</a>, as Stack Overflow did. Reading the results, I would like to know if the drop in positive sentiment toward “AI” was higher among disabled devs, but <a href="https://toot.cafe/@aardrian/114937446552328887">Stack Overflow didn’t ask about disabilities</a>. </p> <p> The State of Something surveys are <a href="https://w3c.social/@leaverou@front-end.social/114897545060381904">driving browser and standards work</a> based on the questions <em>they choose to ask</em> as much as, or more than, the answers. </p> <p> I alluded to that in the 2025 State of HTML survey <a href="https://toot.cafe/@aardrian/114899076843310944">when I noted</a> that half the questions (3½ questions out of 7) in the Forms section are on color pickers. </p> <p> It also asserts Chrome DevTools & WAVE are screen readers. It forgets Firefox’s or Safari’s dev tools. It lumps blindness into low-vis. It listed “Arc” as an accessibility testing tool, without clarifying if it meant TPGi’s ARC (which is) or the Arc browser (which isn’t). </p> <p> I often have to dismiss accessibility results from surveys. Poor framing, context, and sometimes understanding make the data useless to me. Though there is a risk in <a href="https://github.com/whatwg/html/issues/10143#issuecomment-3188430894">what conclusions others will draw</a>. </p> <h2 id="Sampling">Sampling Bias</h2> <p> I understand selection and sampling bias are not the best breakdowns here. I’m still not a researcher. </p> <p> Don’t treat survey results as absolute truths. I discuss this with the WebAIM 10th Screen Reader User Survey: </p> <blockquote> <p> This was all from a self-selected uncontrolled survey. If a particular screen reader vendor (Freedom Scientific / Vispero) once again prompted its customers to fill it out, that could have skewed some of the results. </p> <footer><cite><a href="/2024/02/my-webaim-10th-sr-user-survey-takeaways.html">My WebAIM 10th SR User Survey Takeaways</a></cite></footer> </blockquote> <p> One year <a href="https://webaim.org/projects/screenreadersurvey8/#primary">NVDA had claimed the top spot as primary screen reader</a>. The next year, the <a href="https://webaim.org/projects/screenreadersurvey9/#primary">other vendor moved back to the top spot</a>. </p> <p> For the State of Something surveys, if you’re not plugged into the top sites or influencers, you may be unaware. If your focus on these topics ends with your workday, you may not go looking. If you have survey fatigue, well, me too. </p> <p> There’s also a first-mover bias: </p> <blockquote> <p> While the survey will be open for about a month, responses entered <strong>within the first two weeks (until end of July)</strong> will have a much higher impact on the Web, as preliminary data will be directly used to inform Interop 2026. </p> <footer><cite><a href="https://lea.verou.me/blog/2025/state-of-html/">State of HTML 2025 now open!</a>, 22 July 2025</cite></footer> </blockquote> <p> Add the accessibility bugs in the surveys themselves, and when you get a disabled population in front of a survey they may simply close the tab. </p> <h2 id="Wrap">Wrap-up</h2> <img loading="lazy" src="/wp-content/uploads/2025/08/Sttate-of-Survey-2025.png" alt="“Survey” in a neon green diamond with two purple wrapper ribbons, “State of” on one and “2025” on the other, very much in the style of ‘State of’ survey logos." width="714" height="501" class="right"> <p> Fill out surveys. These are one more channel where your voice can be heard. But balance that against any clear biases and barriers. Hopefully people running these will recognize that these are broadly qualitative and produce only anecdata that can inform more rigorous efforts. </p> ]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/08/my-thoughts-on-the-state-of-surveys.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item> <title>1.2.5: Adversarial Conformance</title> <link>https://adrianroselli.com/2025/08/1-2-5-adversarial-conformance.html</link> <comments>https://adrianroselli.com/2025/08/1-2-5-adversarial-conformance.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Sat, 02 Aug 2025 17:02:37 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[rant]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[WCAG]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=35762</guid> <description><![CDATA[I made a demo for WCAG 2.2 Success Criterion 1.2.5 Audio Description (Prerecorded) AA and have embedded it further down the page. It’s a bit of a download, so either ignore it, be patient, or steal wifi from your local chain restaurant. Conformance Success Criterion 1.2.5 Audio Description (Prerecorded) AA…]]></description> <content:encoded><![CDATA[ <p> I made a demo for WCAG 2.2 Success Criterion <a href="https://www.w3.org/TR/WCAG22/#audio-description-prerecorded">1.2.5 Audio Description (Prerecorded) AA</a> and have embedded it further down the page. It’s a bit of a download, so either ignore it, be patient, or steal wifi from your local chain restaurant. </p> <h2 id="Conformance">Conformance</h2> <p> Success Criterion <a href="https://www.w3.org/TR/WCAG22/#audio-description-prerecorded">1.2.5 Audio Description (Prerecorded) AA</a> in its entirety: </p> <blockquote> <p> <a href="https://www.w3.org/TR/WCAG22/#dfn-audio-descriptions">Audio description</a> is provided for all <a href="https://www.w3.org/TR/WCAG22/#dfn-prerecorded">prerecorded</a> <a href="https://www.w3.org/TR/WCAG22/#dfn-video">video</a> content in <a href="https://www.w3.org/TR/WCAG22/#dfn-synchronized-media">synchronized media</a>. </p> </blockquote> <p> The definition of <em>audio description</em>, and one of its notes, frames this post: </p> <blockquote> <dl> <dt>audio description</dt> <dd>narration added to the soundtrack to describe important visual details that cannot be understood from the main soundtrack alone </dd> </dl> <h3>Note 2</h3> <p> In standard audio description, narration is added <mark>during existing pauses in dialogue</mark>. (See also <a href="https://www.w3.org/TR/WCAG22/#dfn-extended-audio-description">extended audio description</a>.) </p> </blockquote> <p> The piece I marked, <q>during existing pauses in dialogue,</q> has led to a lengthy discussion in issue <a href="https://github.com/w3c/wcag/issues/4460">#4460: 1.2.3 / 1.2.5 Audio description – No pause</a> and, to a lesser extent, PR <a href="https://github.com/w3c/wcag/pull/1790">#1790 Tweak understanding for 1.2.3 and 1.2.5</a>. In the discussion, one of the Working Group members states this about pauses and passing SC 1.2.5: </p> <blockquote> <p> I think this is very clearly answered. it says you need to use pauses to include audio description. […] if you have no pauses – you have used them all (none)- and you MEET the requirement. </p> <footer><cite><a href="https://github.com/w3c/wcag/issues/4460#issuecomment-3006466462">GreggVan on Jun 25</a></cite></footer> </blockquote> <p> The assertion isn’t that 1.2.5 doesn’t apply, but that 1.2.5 is <em>met</em>. No pauses means no requirement for audio description, which means a <em>pass</em> for SC 1.2.5 Audio Description (Prerecorded). </p> <p> But wait — there’s a bonus. </p> <p> Authors can satisfy Success Criterion <a href="https://www.w3.org/TR/WCAG22/#audio-description-or-media-alternative-prerecorded">1.2.3 Audio Description or Media Alternative (Prerecorded) Level A</a> with either <q>an alternative for time-based media or [an] audio description</q>. Note the “or” operator in that statement. Since 1.2.5 covers the audio description piece, when SC 1.2.5 is met, SC 1.2.3 is also met. </p> <p> With these interpretations, it’s possible to create a video with pauses so brief between bits of narration or dialogue (as with <a href="https://github.com/w3c/wcag/pull/1790#issuecomment-2809615973">many corporate social media posts</a>) that you can skip an audio description and meet 1.2.5. Then you are off the hook for a media alternative (such as a transcript) under 1.2.3. There’s even a <a href="https://github.com/w3c/wcag/issues/4460#issuecomment-3054028265">reference chart</a> from another Working Group member showing the relationship. </p> <p> Which means the following video passes both 1.2.3 and 1.2.5. </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export_poster.jpg"> <source src="/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export.mp4">download it</a>. The <a href="/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>Servicing Your Heuristically Programmed Algorithmic Computer</figcaption> </figure> <details> <summary>An extra bonus video</summary> <youtube-vimeo-embed> <p> YouTube: <a href="https://youtu.be/nZjWBjN1YFQ">Patrick Lauke, “WCAG Audio Description discussion/issue – illustrative example”</a>, 1:10 </p> </youtube-vimeo-embed> </details> <h2 id="Adversarial">Adversarial</h2> <p> WCAG is renowned for being open to interpretation. Sometimes, as this case, the interpretation is trying to balance original intent versus current approaches. However, too often it’s trying to twist the language to satisfy a particular outcome. </p> <p> This is something I call <em>adversarial conformance</em>. HAL the UI designer can claim that it followed WCAG even though it’s clear that HAL expended effort on minimally conforming while negative outcomes are seemingly obvious. </p> <p> This assumes your users actually care about your videos, even those that are little more than marketing fluff or radicalization schemes. Or trying to deal with a homicidal AI that couldn’t be talked down. </p> <h2 id="Related">Related</h2> <ul> <li><a href="/2025/02/1-4-10-adversarial-conformance.html"><cite>1.4.10: Adversarial Conformance</cite></a></li> <li><a href="/2023/10/2-4-11-adversarial-conformance.html"><cite>2.4.11: Adversarial Conformance</cite></a></li> <li><a href="/2023/12/2-5-8-adversarial-conformance.html"><cite>2.5.8: Adversarial Conformance</cite></a></li> </ul> <!-- https://adrianroselli.com/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export_OC.mp4 --> <!-- https://www.youtube.com/watch?v=V0bUd6KrQGg -->]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/08/1-2-5-adversarial-conformance.html/feed</wfw:commentRss> <slash:comments>5</slash:comments> <enclosure url="https://adrianroselli.com/wp-content/uploads/2025/07/Resetting-HAL-to-defaults_export_OC.mp4" length="8497284" type="video/mp4" /> </item> <item> <title>Horizontal Scrolling Containers Are Not a Content Strategy</title> <link>https://adrianroselli.com/2025/08/horizontal-scrolling-containers-are-not-a-content-strategy.html</link> <comments>https://adrianroselli.com/2025/08/horizontal-scrolling-containers-are-not-a-content-strategy.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Fri, 01 Aug 2025 11:24:48 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[css]]></category> <category><![CDATA[html]]></category> <category><![CDATA[pattern]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=35664</guid> <description><![CDATA[I should clarify that I am not talking about carousels. That said, because users often consider horizontal scrolling containers to be carousels, I will be talking about carousels. Also, this post is written by a monolingual American. While I discuss localization issues, there’s no way I can get into all…]]></description> <content:encoded><![CDATA[<p> I should clarify that I am not talking about carousels. That said, because <em>users</em> often consider horizontal scrolling containers to be carousels, I will be talking about carousels. </p> <p> Also, this post is written by a monolingual American. While I discuss localization issues, there’s no way I can get into all the nuances and challenges of recreating or translating one of these to a non-left-to-right language. This post also assumes a page that is in a left-to-right or right-to-left language. </p> <h2 id="What">What Is a Horizontal Scrolling Container?</h2> <p> These can come in a few flavors: </p> <figure class="right"> <img loading="lazy" src="/wp-content/uploads/2025/07/food-conveyor_ccbynd2_embed.jpg" alt="A conveyor belt in what feels like an institutional setting that has a few trays holding empty plates, bowls, and mugs, all sliding from the bottom right of the frame to a very distant hole in the wall at the top left of the frame." width="800" height="800"> <figcaption>“<a href="https://www.flickr.com/photos/furny/327800999">cafe5</a>” by <a href="https://www.flickr.com/photos/furny/">emma</a>, <a href="https://creativecommons.org/licenses/by-nd/2.0/deed.en" rel="license noopener noreferrer">CC BY-ND 2.0</a></figcaption> </figure> <ul class="scroll"> <li>Content that’s too big for the viewport (word length, data structures, etc) that limits the horizontal scroll to itself instead of the page.</li> <li>A “gallery” of movie titles, or books, or testimonial quotes, or clients, or whatever really.</li> <li>A toolbar or button bar or other collection of controls.</li> <li>A carousel.</li> </ul> <h2 id="What">Why Do They Happen?</h2> <p> There are a few reasons: </p> <ul class="scroll"> <li>It can be a method to satisfy <a href="https://www.w3.org/WAI/WCAG22/Understanding/reflow.html">WCAG Success Criterion 1.4.10 Reflow</a> when in a narrow viewport or zoomed context, most commonly used with data tables.</li> <li>The site has a too many stakeholders and everyone wants to own a piece of the page, so this is one form of compromise.</li> <li>The author <em>really</em> doesn’t want to wrap something, typically for design preferences but sometimes for better usability.</li> <li>An author wanted to be bleeding edge and try CSS carousels, but had to justify why they would make a carousel when <a href="https://shouldiuseacarousel.com/">users hate carousels</a> and <a href="/2013/07/my-carousel-use-stats.html">carousels are used less than print styles</a>, then they found out <a href="https://www.sarasoueidan.com/blog/css-carousels-accessibility/">CSS carousels are fundamentally broken</a>, but they already got sign-off on their Figma, so now they have to build <em>something</em> so what the heck, just make it scroll and call it “progressive enhancement.”</li> </ul> <h2 id="Problem">So What’s the Problem?</h2> <p> Some of these items link to far more detail, so I encourage you to dig into them: </p> <figure class="right"> <img loading="lazy" src="/wp-content/uploads/2025/07/baggage-carousel_ccbysa2_embed.jpg" alt="An airport luggage carousel with a sign posted above conveyor belt that reads “Carousel rides (baggage only).”" width="800" height="600"> <figcaption>“<a href="https://www.flickr.com/photos/denn/145132523">Carousel</a>” by <a href="https://www.flickr.com/photos/denn/">Denise Chan</a>, <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.en" rel="license noopener noreferrer">CC BY-SA 2.0</a></figcaption> </figure> <ul class="scroll"> <li>I outline challenges with supporting keyboard users in <a href="/2022/06/keyboard-only-scrolling-areas.html"><cite>Keyboard-Only Scrolling Areas</cite></a>, which includes WCAG concerns.</li> <li>Voice control users are at an extra disadvantage given the difficulty identifying and operating the scrolling container.</li> <li>There’s a chance the focused thing won’t completely move into the viewport, risking a <a href="https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html">2.4.11 Focus Not Obscured (Minimum)</a> failure or warning.</li> <li>Sometimes the highlighted text from an in-page search won’t fully move into view. Horizontal scrollbars don’t add marks showing where to scroll to see the hit.</li> <li>You cannot rely on the user’s OS or browser having scrollbars enabled, you’ll want some visual affordance to identify to users that a thing scrolls (<a href="/2020/11/under-engineered-responsive-tables.html#Usability">commonly done with shadows</a>).</li> <li>If you choose to make <a href="/2019/01/baseline-rules-for-scrollbar-usability.html">custom scrollbars, be careful</a> of size, contrast, and consistency within the site.</li> <li>If you rely on lazy-loading images, understand the scrollbar may dynamically resize and can <a href="/2024/09/under-engineered-estimated-reading-time-feature.html">mess with expectations</a>.</li> <li><a href="/2021/07/scroll-snap-challenges.html">Be cautious with scroll snap</a>, as it can make some content functionally inaccessible in limited cases.</li> <li>Mouse wheel scrolling becomes a hassle (not every user knows to press <kbd>Shift</kbd> — where it’s supported), assuming a user has a mouse wheel.</li> <li>Horizontal swiping creates risk for navigating away.</li> <li>Targets in the container that receive focus from an anchor link are harder for users to identify (this is from experience, sorry no study to cite).</li> <li>Considering some users may surf on a mobile in landscape mode, your scrollbars could be outside the viewport.</li> <li>That also means you need to pay attention to the height of your scrolling area, and consider if or how viewport height media queries should factor.</li> <li>As extra fun for landscape mobile users, a sticky header or footer can make it even harder to scroll and read that content.</li> <li>The height becomes an even bigger challenge (pun intended) when the user zooms the page or scales the text, as it can (and will) impact everything I’ve covered so far.</li> <li>If you are a believer that “the fold” is a thing on web pages, then congratulations, you’ve added even more folds (maybe even above the fold).</li> <li>Should your page ever get machine-translated to a non-left-to-right language (eg, Hebrew, Japanese), you had better be sure you used <a href="/2019/11/css-logical-properties.html">CSS logical properties</a>.</li> <li>Even if you insist it isn’t a carousel, users are likely to believe it’s a carousel and skip right by it. Which means it’s a carousel for all intents and purposes (other than the animation part).</li> </ul> <h2 id="Reason">Is There a Reason Your Headings Are Loaded Questions?</h2> <p> Yes. Laziness. </p> <h2 id="Strategy">What’s the Strategy Part?</h2> <p> If you consider horizontal scrolling containers as a way to get more content on the page or to de-clutter a page or even to keep content above “the fold” then you might want to reconsider. </p> <p> Rework your information architecture, your page design, your objective, and so on. Otherwise you risk creating barriers, usability hassle, and functionally lost content. </p> <h2 id="Else">Anyone Else Think This Way?</h2> <p> Yes. </p> <ul class="scroll"> <li><a href="https://cerovac.com/a11y/2024/02/consider-accessibility-when-using-horizontally-scrollable-regions-in-webpages-and-apps/"><cite>Consider accessibility when using horizontally scrollable regions in webpages and apps</cite></a> by Bogdan Cerovac.</li> <li><a href="https://kevinyank.com/posts/horizontal-scrolling/"><cite>Horizontal Scrolling</cite></a> by Kevin Yank.</li> <li><a href="https://www.experienceux.co.uk/ux-blog/a-ux-perspective-on-horizontal-scrolling/"><cite>A UX perspective on Horizontal scrolling</cite></a> by Damian Rees.</li> <li><a href="https://www.nngroup.com/articles/horizontal-scrolling/"><cite>Beware Horizontal Scrolling and Mimicking Swipe on Desktop</cite></a> by Katie Sherwin.</li> </ul> <h2 id="Try">Wanna Try?</h2> <button type="button:" aria-pressed="false" id="Scroll" onclick="toggleScroll(this.id);">Try!</button> <p> Now scroll up. Annoying, yeah? </p> <style> .scroll.yes { display: flex; overflow: auto; gap: 1.75em; } .scroll.yes li { flex: 1 0 12em; } button[aria-pressed]::before { content: "\2610\0020"; } button[aria-pressed="true"]::before { content: "\2611\0020"; } </style> <script> function toggleScroll(btnID) { var theButton = document.getElementById(btnID); var listULs = document.getElementsByClassName('scroll'); if (theButton.getAttribute("aria-pressed") == "false") { theButton.setAttribute("aria-pressed", "true"); for (var i = 0; i < listULs.length; i++) { listULs[i].classList.add('yes'); } } else { theButton.setAttribute("aria-pressed", "false"); for (var i = 0; i < listULs.length; i++) { listULs[i].classList.remove('yes'); } } } </script>]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/08/horizontal-scrolling-containers-are-not-a-content-strategy.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item> <title>#ARTY Could Get You Sued</title> <link>https://adrianroselli.com/2025/07/arty-could-get-you-sued.html</link> <comments>https://adrianroselli.com/2025/07/arty-could-get-you-sued.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Mon, 14 Jul 2025 13:47:13 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[overlay]]></category> <category><![CDATA[rant]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=35377</guid> <description><![CDATA[I can’t actually assert the ARTY overlay will result in a lawsuit, though there is a trend of overlays attracting lawsuits. Attorneys say overlays don’t protect from lawsuits, either. Regardless of the company making it, if you wonder if you should use an accessibility overlay, the answer is no. ARTY’s…]]></description> <content:encoded><![CDATA[<p> I can’t actually assert the ARTY overlay will result in a lawsuit, though there is a trend of <a href="https://www.accessibility.works/blog/avoid-accessibility-overlay-tools-toolbar-plugins/">overlays attracting lawsuits</a>. Attorneys say <a href="https://adrianroselli.com/2020/06/accessibe-will-get-you-sued.html#Update26">overlays don’t <em>protect</em> from lawsuits</a>, either. Regardless of the company making it, if you wonder if you should use an accessibility overlay, <a href="https://shouldiuseanaccessibilityoverlay.com/">the answer is no</a>. ARTY’s overlay just happens to be the subject of this post. </p> <p> This post is, of course, my opinion. I provide evidence throughout to support that opinion. You may have a different opinion, in which case good for you. </p> <h2 id="Background">Got Some Background?</h2> <p> On 8 July 2025 at 11:30am ET, the AAAnow sales team <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364676">left a comment on my site</a> with a link to its own LinkedIn post. The team was so eager, that <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364677">it left a similar comment two minutes later</a> on the same post. AAAnow left those comments on the post <cite><a href="/2025/01/ftc-catches-up-to-accessibe.html">FTC Catches up to #accessiBe</a></cite>, which details how overlay company accessiBe was fined for lying about the capabilities of its overlay product, falsely claiming it has “AI” baked into it, and for astroturfing. </p> <p> The article in LinkedIn Pulse to which AAAnow’s sales team wanted to send readers of my blog, and specifically readers of my post outlining accessiBe’s penalties, was <cite><a href="https://web.archive.org/web/20250708205742/https://www.linkedin.com/pulse/why-accessibility-widgets-still-deserve-place-aaanow-uah4e/">Why accessibility widgets matter. A balanced view on inclusive UX</a>.</cite> </p> <p> In the interests of full disclosure, I have written about <a href="/2016/07/stop-throwing-away-your-content.html#LinkedIn">LinkedIn Pulse as a terrible platform for authors</a> and I continue to maintain it’s <a href="https://toot.cafe/@aardrian/114824755147732404">also a terrible platform for readers</a>. AAAnow’s domain name (AAAnow.ai) sends users directly to its LinkedIn page, so it seems clear disabled users are not AAAnow’s audience. </p> <h2 id="Who">Who is AAAnow?</h2> <p> AAAnow is a London-based company whose executive officer is also the current <em>chief</em> executive officer of AAAtraq. That same person is also the founder and current “non-exec” of Sitemorse, also London-based. We are not connected on LinkedIn. </p> <p> Sitemorse sells a tool called <a href="https://web.archive.org/web/20250710131903/https://sitemorse.com/ARTY">ARTY</a>, which is short for Artymus Intelligentis III. It can be added to your existing site and, when activated, lays over the existing content. </p> <p> Artymus Intelligentis III is built by and with AAAnow. </p> <img loading="lazy" src="/wp-content/uploads/2025/07/Sitemorse-ARTY-higher-res.png" alt="The Sitemorse overlay, copyright AAANow, showing options for ADHD, dyslexia, vision, color, motor, and seizure; other options in a separate box are voice over and text only. There is also a disabled button with a camera icon and a reset button." width="1156" height="396"> <p> To make sure this is clear — AAAnow is an overlay vendor. </p> <h2 id="What">Is Artymus Intelligentis III an <em>Accessibility</em> Overlay?</h2> <p> The AAAnow executive officer that joined my LinkedIn comment conversation with AAAnow’s sales person / team / himself, refers to the overlay as a <q>visitor experience panel.</q> </p> <p> Specifically, he and the sales team repeatedly referred to <q>ADHD, dyslexia, or visual fatigue</q> as challenges that web sites today cannot address, nor can system or browser settings. Those three are disabilities, in addition to being experiences. </p> <p> The overlay itself says, <q>Which is why we’re proud to align with AAAnow in adding this accessibility panel to our website.</q> Which tells me the overlay is definitely an <em>accessibility</em> overlay. </p> <p> The AAAnow executive officer even seems to align with industry peer and serial liar, accessiBe, by citing an accessiBe press release about how its widget supposedly saved a customer from a lawsuit (it didn’t; the web site dev fixed the code). </p> <h2 id="Why">Ok, Why Does This Matter?</h2> <p> We’ve established the AAAnow is an accessibility overlay vendor. We haven’t discussed the quality of its overlay, because for the discussion on LinkedIn it’s moot. </p> <p> At no point during any of the <q>balanced, open</q>, <q>genuine</q>, <q>real conversation</q> on my site nor on LinkedIn did AAAnow nor its executive officer mention AAAnow has built and sells an accessibility overlay. </p> <p> AAAnow carefully framed this as a better-than-nothing message, gently trying to move the needle on the very real, very documented, very problematic messaging, barriers, and privacy risks in which accessibility overlays — as a class of products — tend to peddle. </p> <p> AAAnow’s executive officer’s failure to disclose its own product is, in my opinion, a lie of omission. It is ethically dubious. It is a signal of how these organizations (AAAnow, AAAtraq, and Sitemorse) will frame their message to customers and users. It is a predictor of future behavior. </p> <p> I recognize I can be a bit rigid in my interpretation of morality and ethics. So I’ll share with you, dear reader, the full text of the conversations in my blog comments and on LinkedIn. If nothing else, it spares you dealing with at least one terrible interface. </p> <p> As a courtesy, I’ve put them in these collapso sections so you can easily skip past them to the overlay mini-review. </p> <details> <summary>The conversation in my blog comments</summary> <!-- --> <!-- --> <!-- --> <h3> AAAnow; <time datetime="2025-07-08T11:30:00-04:00">8 July 2025 at 11:30 am</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364676" class="noprint">Permalink</a> </h3> <blockquote class="comment even thread-even depth-1 parent" id="comment-364676"> <p>This is an important step from the FTC, and credit to Adrian for years of consistent scrutiny in this space.</p> <p>We agree that overpromising harms trust — not just in vendors, but in the broader push for inclusion. At AAAnow, we’ve argued that accessibility overlays aren’t a silver bullet — but when used transparently and responsibly, they can be part of a broader, practical strategy.</p> <p>Rather than take sides in a binary debate, we’ve tried to offer a more balanced perspective on where these tools can fit in. You can read our take here:</p> <p><a href="https://www.linkedin.com/posts/aaanow_why-accessibility-widgets-still-matter-a-activity-7346882836425064450-3-HW" rel="nofollow ugc">https://www.linkedin.com/posts/aaanow_why-accessibility-widgets-still-matter-a-activity-7346882836425064450-3-HW</a>?</p> <p>We’re always open to feedback, especially from the people these tools aim to support.</p> <p>— The AAAnow team</p> </blockquote> <!-- --> <h3> Me; <time datetime="2025-07-08T16:41:04-04:00">8 July 2025 at 4:41 pm</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364737" class="noprint">Permalink</a> </h3> <blockquote class="comment byuser comment-author-adrian-roselli bypostauthor odd alt depth-2" id="comment-364737"> <p>I’m flattered to get two comments! But I’ll respond to the second one.</p> </blockquote> <!-- --> <h3> AAAnow; <time datetime="2025-07-08T11:32:36-04:00">8 July 2025 at 11:32 am</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364677" class="noprint">Permalink</a> </h3> <blockquote class="comment even thread-odd thread-alt depth-1 parent" id="comment-364677"> <p>Thanks, Adrian. As ever, clear, thorough, and unapologetically honest.</p> <p>At AAAnow, we’ve been pushing for a more realistic conversation around accessibility tech. The FTC’s action may feel overdue, but it’s a vital marker for the industry.</p> <p>We recently published a piece reflecting on why some of these overlay tools gained traction in the first place, and how we can move the debate forward without ignoring the harm. </p> <p>Spoiler: it’s not just about the tools themselves, but how they’re pitched, purchased, and misused.</p> <p><a href="https://www.linkedin.com/posts/aaanow_why-accessibility-widgets-still-matter-a-activity-7346882836425064450-3-HW" rel="nofollow ugc">https://www.linkedin.com/posts/aaanow_why-accessibility-widgets-still-matter-a-activity-7346882836425064450-3-HW</a>?</p> <p>We’d welcome thoughts — especially from those with lived experience.<br> — The AAAnow team</p> </blockquote> <!-- --> <h3> Me; <time datetime="2025-07-08T16:41:41-04:00">8 July 2025 at 4:41 pm</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364739" class="noprint">Permalink</a> </h3> <blockquote class="comment byuser comment-author-adrian-roselli bypostauthor odd alt depth-2 parent" id="comment-364739"> <p>Dear AAAnow Sales Team (I say that because the email address you used is your sales email account),</p> <p>I appreciate that you felt so strongly about promoting your post that you did it twice. On a post that demonstrates how lying about conformance and “AI” use can get the FTC after you. It’s a bold move.</p> <p>I also appreciate that your domain name redirects to LinkedIn instead of a real site. Though that may be a function of only having three employees, two of whom seem to be carrying the similarly creatively-named AAATraq into this new venture (which should be great for ranking in phone book listings).</p> <p>As you requested, I’m going to share my thoughts on your piece here and also on the LinkedIn post itself.</p> <blockquote> <p> It’s time for a more balanced, honest, and perhaps even ‘unbiased’ conversation. </p> </blockquote> <p>I don’t know why you put “unbiased” in <a href="https://en.wikipedia.org/wiki/Scare_quotes" rel="nofollow ugc">scare quotes</a>, but if your intent was to be ironic I think it works here.</p> <p>You outline how overlays can help users:</p> <blockquote> <ul> <li>Contrast controls for older users or low vision</li> <li>Dyslexia-friendly fonts and reading masks</li> <li>Focus assist for ADHD</li> <li>Text enlargement and simplified layouts</li> <li>Real-time colour-blind adjustments</li> <li>Support for cognitive load reduction (e.g., turning off animations)</li> </ul> </blockquote> <p>This presumes a user understands these controls exist, can access the controls, and that the features work.</p> <p>But this also presumes the user doesn’t already use their browser or operating system to do the bulk of these. For example, contrast features are built into operating systems (for all users, not just older or low-vis users). People can scale text in their browser already. Folks can use reading mode for a simpler layout. Color blindness adjustments are typically done with contrast settings, which, again, the OS provides.</p> <p>I agree browsers don’t support dyslexia-friendly fonts by default, though evidence in support of those is scant. I also agree they don’t provide “focus assist,” though data on that is also scant (please link peer-reviewed material if you have it). As for disabling animations, I have yet to see an overlay successfully <a hre="/2022/03/overlays-underwhelm-a11y-nyc.html#Slide19" rel="nofollow ugc">stop animations</a> even <a href="/2025/07/accesstive-will-get-you-sued.html#Overlay" rel="nofollow ugc">on their own sites</a>.</p> <blockquote> <p> These are real, immediate improvements – delivered at scale, without waiting months for development updates or a redesign. For many organisations, especially those without enterprise budgets, these tools are a game-changer. </p> </blockquote> <p>But they aren’t real. And less immediate than browser or OS settings. The ones not provided by the OS aren’t demonstrably useful for enough of the audience when balanced against all the risks — to organization and users — of overlays.</p> <blockquote> <p> Talk to people who use these tools regularly, and one thing is clear: they’re not just a nice-to-have. They’re essential. </p> </blockquote> <p>If you mean overlays by <q>these tools</q>, I do talk to users regularly. I’ve spoken to them for years. They’ve been vocal about how overlays introduce problems for them (there are even news articles!).</p> <blockquote> <p> For users with ADHD or dyslexia, overlays that reduce distractions or adjust typography can mean the difference between comprehension and confusion. </p> </blockquote> <p>You are cherry-picking the audience for whom the needs and outcomes are so incredibly varied that there is little or no peer-reviewed data showing these tools (Dyslexia-specific fonts and focus assist), whether enacted by overlays or not, broadly help.</p> <blockquote> <p> For older adults or users with visual impairments, being able to magnify, adjust spacing, or trigger high-contrast modes can mean the ability to complete a task without frustration or giving up. </p> </blockquote> <p>Well, with the exception of adjusting spacing, the operating system provides those. But that tends to align more with dyslexic users.</p> <blockquote> <p> The accessibility purist view is that only manual audits and code-level fixes provide true compliance. And in technical terms, they’re not wrong – widgets can’t fix poor HTML, broken ARIA roles, or complex forms. </p> </blockquote> <p>One the one hand, that’s not a purist view. Programmatic exposure to platform accessibility APIs can only be addressed in code. On the other, manual reviews are just one item in the toolbox, especially when dealing with the varied needs of users across all the contexts of the the things they encounter.</p> <blockquote> <p> But there’s something else worth considering: do the many critics have a position to protect?</p> <p>Manual accessibility work – audits, dev remediation, consulting – is expensive and time-consuming. Entire businesses are built on selling these services. Automation, overlays, expedience platforms, and accessibility-as-a-service models disrupt that market.</p> <p>Could some of the criticism stem from bias? It’s worth asking. </p> </blockquote> <p>Ah, I see we’re at the “<a href="https://en.wikipedia.org/wiki/Just_Asking_Questions" rel="nofollow ugc">just asking questions</a>” portion of the post.</p> <p>There really isn’t a position to protect. Digital accessibility work <a href="/2024/01/under-supported-and-underpaid.html" rel="nofollow ugc">pays poorly</a> and <a href="https://www.youtube.com/watch?v=5gs54WDVBIw" rel="nofollow ugc">leads to burn-out</a>. People aren’t doing it to get rich. I also know none who do exclusively manual audits nor even <em>want</em> to. It’s time consuming and frustrating, which may be why you don’t see companies doing it (other than some boutique shops). Heck, I don’t do it.</p> <blockquote> <p> It’s easy to call overlays a ‘shortcut’. But what if they’re actually a way to start? To do something rather than nothing? To improve experiences for real users, right now, instead of waiting on budget cycles and development sprints? </p> </blockquote> <p>Well, I never called them a shortcut. I mostly call them not fit for purpose.</p> <p>After all, if that <em>something</em> includes <a href="/2021/09/userway-will-get-you-sued.html#WCAGfails" rel="nofollow ugc">adding more WCAG violations</a> to a page, making you a <a href="https://www.accessibility.works/blog/avoid-accessibility-overlay-tools-toolbar-plugins/" rel="nofollow ugc">target for lawsuits</a>, providing features that <a href="/wp-content/uploads/2022/04/Lighthouse-v-ADP_settlement.pdf" rel="nofollow ugc">don’t work</a>, <a href="/2022/11/overlays-underwhelm-at-wordpress-a11y-day.html#Slide44" rel="nofollow ugc">villainizing disabled people</a>, getting <a href="https://www.accessibyebye.org/" rel="nofollow ugc">blocked by more technical users</a>, <a href="https://www.forbes.com/sites/gusalexiou/2021/06/26/largest-us-blind-advocacy-group-bans-web-accessibility-overlay-giant-accessibe/" rel="nofollow ugc">shunned by disability orgs</a>, <a href="https://overlayfactsheet.com/en/" rel="nofollow ugc">shunned by the disability community</a>, <a href="https://tink.uk/accessibe-and-data-protection/" rel="nofollow ugc">violating GDPR</a>, <a href="/2022/03/faciliti-will-get-you-sued.html#Privacy" rel="nofollow ugc">violating privacy</a>, and/or parrot overlays’ <a href="https://overlayfalseclaims.com/" rel="nofollow ugc">false advertising</a> just to assuage the FUD that overlay marketers promote, then in this case, yeah, I would advocate for starting by doing nothing (which <a href="https://overlays.dnikub.dev/#section:perception-post" rel="nofollow ugc">research bears out</a>).</p> <p>Or maybe you can <a href="/2021/01/sub-1000-web-accessibility-solution.html" rel="nofollow ugc">use that overlay cost in a smarter way</a>.</p> <blockquote> <p> The future of accessibility isn’t widget vs. manual. It’s widget plus manual. It’s compliance plus usability. It’s not just what the code says, it’s what the user experiences. </p> </blockquote> <p>Yet we continue to establish that overlays, broadly, do not work and increase risk. Nothing you have offered comes close to refuting years of data, articles, research, legal cases, and more.</p> <p>Now that I’ve reached the end of the piece, it’s not clear what you’re prepared to do. Other than carry water for overlay vendors, obliquely by framing it as an appeal to purchasers (and not disabled users).</p> <blockquote> <p> Let’s have a real conversation. This space needs less chasing the impossible and more pragmatism. </p> </blockquote> <p>I have this conversation constantly. There are millions of dollars of venture capital <em>forcing</em> me to have this conversation on a weekly basis. I have been sued for having this conversation. I’m having yet another conversation right now, with a sales team on my own blog.</p> <p>So what, as an organization, are you going to do to help disabled people as a result of this conversation?</p> </blockquote> <!-- --> <h3> AAAnow; <time datetime="2025-07-09T07:42:35-04:00">9 July 2025 at 7:42 am</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364850" class="noprint">Permalink</a> </h3> <blockquote class="comment even depth-3 parent" id="comment-364850"> <p>Thanks for taking the time to respond, and for highlighting the strength of feeling this topic still generates.</p> <p>We stand by the article’s core message: this debate needs more balance. It’s entirely fair to critique false claims and poor implementations — and we don’t dispute the technical limitations of some products. But to insist that any technology in this category is inherently harmful or misleading ignores a more important truth:</p> <p>Not all website owners are technical. Not all organisations can afford manual audits. But many users still need support… today.</p> <p>To be clear, we’re not saying overlays solve everything. They don’t.</p> <p>We’re saying that technology can, and should, play a role in improving accessibility for real users, especially when the alternative is doing nothing.</p> <p>You make the point that operating systems and browsers already offer tools. That’s true, but awareness, access, and usability of those tools remain barriers for many. A clearly visible panel on the page is sometimes the only way a user even realises support is available.</p> <p>Your argument also seems to assume that “overlay” equals “non-functional.” That might be valid for older implementations or vendors making overblown claims, but it dismisses the real and growing field of UI personalisation tools, AI-supported contrast correction, and experience panels that are evolving rapidly. </p> <p>This includes features like:</p> <p>– Real-time color contrast control (still the #1 WCAG issue, year after year per WebAIM)<br> – Reading modes for neurodivergent users<br> – Simplified views for cognitive accessibility</p> <p>Should these things be fixed in code? Yes.</p> <p>Will that happen for every SME, e-commerce template, or legacy CMS? No.</p> <p>So the pragmatic question is: why not use technology to help some users now, while continuing to work toward better standards, education, and long-term fixes?</p> <p>Dismissing everything under the umbrella of overlays feels like gatekeeping — especially when done by those who sell manual services. We’re not saying that’s your motivation, but it’s fair to observe that there’s a professional interest at play across the whole sector, on both sides.</p> <p>So let’s return to the original ask: a balanced, open conversation. Not marketing spin. Not purist dogma. Just a recognition that progress isn’t binary, and that technology has a real role to play if implemented transparently, ethically, and as part of a broader strategy.</p> <p>You ask what we’re going to do. Here’s the answer:</p> <p>We’ll keep building tools that support real users, in real time, without waiting for perfect conditions.</p> <p>You don’t have to agree with our approach – but we hope we can at least agree that doing something useful now is better than waiting for perfection that may never come.</p> </blockquote> <!-- --> <h3> Me; <time datetime="2025-07-09T12:42:56-04:00">9 July 2025 at 12:42 pm</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364885" class="noprint">Permalink</a> </h3> <blockquote class="comment byuser comment-author-adrian-roselli bypostauthor odd alt depth-4" id="comment-364885"> <blockquote> <p> We stand by the article’s core message: this debate needs more balance. It’s entirely fair to critique false claims and poor implementations — and we don’t dispute the technical limitations of some products. But to insist that any technology in this category is inherently harmful or misleading ignores a more important truth </p> </blockquote> <p>I am happy to debate / discuss something when there is new information. But you are essentially asking people to restart a mostly settled discussion without bringing new information.</p> <p>Broadly, the industry doesn’t make a blanket statement about <q>any technology in this category</q>. What you are actually hearing is acknowledgment that the best predictor of future behavior is prior behavior. Heck, it’s even <em>current</em> behavior as I wrote yesterday.</p> <blockquote> <p> Not all website owners are technical. Not all organisations can afford manual audits. But many users still need support… today. </p> </blockquote> <p>Then instead of regurgitating the same talking points, take action. Take the lessons we have all learned and make something better. Outline what an ethical overlay would look like. Identify how to educate users about existing features in their platforms. Get some funding for follow-up research. Really, <em>anything</em> other than trying to promote a business model shown to rely on FUD at the <em>expense</em> of users. It has plenty of venture funding, it doesn’t need more boosterism.</p> <blockquote> <p> Your argument also seems to assume that “overlay” equals “non-functional.” That might be valid for older implementations or vendors making overblown claims, but it dismisses the real and growing field of UI personalisation tools, AI-supported contrast correction, and experience panels that are evolving rapidly.</p> <p>This includes features like:</p> <ul> <li>Real-time color contrast control (still the #1 WCAG issue, year after year per WebAIM)</li> <li>Reading modes for neurodivergent users</li> <li>Simplified views for cognitive accessibility</li> </ul> </blockquote> <p>You are falling back to two audiences for whom the needs and outcomes are so incredibly varied that there is little or no peer-reviewed data showing these tools (Dyslexia-specific fonts and focus assist), whether enacted by overlays or not, broadly help.</p> <p>Contrast is indeed a challenge, but every overlay tool I have seen leans on CSS to achieve its goals, and is often less effective than features built into the OS or browser.</p> <p>But if you broadly want to rebrand overlays as personalization tools (which many are doing to avoid <a href="https://www.lflegal.com/2024/07/accessibe-class-action/" rel="nofollow ugc">false claims lawsuits</a> and <a href="https://techstartups.com/2024/12/23/userway-faces-class-action-lawsuit-over-alleged-false-accessibility-and-ada-compliance-claims/" rel="nofollow ugc">class action suits</a> from their own customers), go for it. But your “discussion” (scare quotes) needs to be frank about the barriers <em>and</em> legal risk those overlay, sorry, personalization products introduce today. Barriers to users, legal risks to customers.</p> <p>Somehow your conversation keeps avoiding the very real facts that a few non-specific and questionable features bring a far greater pile of problems. It fails to warn that any solution has to address those before claiming it’s better than nothing.</p> <blockquote> <p> So the pragmatic question is: why not use technology to help some users now, while continuing to work toward better standards, education, and long-term fixes?</p> <p>Dismissing everything under the umbrella of overlays feels like gatekeeping — especially when done by those who sell manual services. We’re not saying that’s your motivation, but it’s fair to observe that there’s a professional interest at play across the whole sector, on both sides. </p> </blockquote> <p>The question and statement make assumptions that technology is neutral. Overlay makers are anything but. They have relied on lies and dysfunctional technology. It’s not gatekeeping to be wary of creating more harms.</p> <p>However, I agree there is a professional interest here.</p> <p>Overlay companies have been overwhelmingly well funded. They have taken in tens of millions (I think hundreds now) each. One even <a href="/2021/09/userway-will-get-you-sued.html#LevelAccessBuysUserWay" rel="nofollow ugc">overtook a traditional auditing company</a>, installing its leadership at the top. Overlay companies have spent money repeatedly <a href="/2023/05/audioeye-is-suing-me.html" rel="nofollow ugc">suing critics</a> around <a href="/2022/03/faciliti-will-get-you-sued.html#Lawsuits" rel="nofollow ugc">the world</a>, in the ultimate act of gatekeeping.</p> <p>So yeah, there is a professional interest here and it’s about making that sweet investor money to lock up customers for predictable, repeatable revenue while <a href="https://www.ftc.gov/news-events/news/press-releases/2025/01/ftc-order-requires-online-marketer-pay-1-million-deceptive-claims-its-ai-product-could-make-websites#:~:text=Company%20also%20failed%20to%20disclose%20material%20connections%20to%20online%20reviewers" rel="nofollow ugc">paying shills to astroturf</a> their work.</p> <blockquote> <p> So let’s return to the original ask: a balanced, open conversation. Not marketing spin. Not purist dogma. Just a recognition that progress isn’t binary, and that technology has a real role to play if implemented transparently, ethically, and as part of a broader strategy. </p> </blockquote> <p>Well, as far as I know, we’ve had the open conversation and you seem to dismiss the reality of the last ten years of behavior by overlay companies (and their technical failings). It’s an ethical gap to dismiss that, in my opinion, and no conversation is complete without discussing an ethical framework at the same level as blue-skying the technology.</p> <p>As for transparency, what is <em>your</em> revenue stream?</p> <blockquote> <p> You ask what we’re going to do. Here’s the answer:</p> <p>We’ll keep building tools that support real users, in real time, without waiting for perfect conditions. </p> </blockquote> <p>Cool. Take the lessons learned (and the research I cited) and consider building a browser extension to cover the gaps you keep naming. An extension can handle the font swapping, contrast changes, and text highlighting using existing technologies. An extension also doesn’t rely on enterprises and their budgets to deploy; no marketing to convince companies (whether by FUD or appealing to their good nature).</p> <p>An extension also can retain user settings across sites. So a user can benefit regardless of web site. Those settings will also be sandboxed, providing greater security and privacy, instead of relying on vendors following GDPR. Users could export settings, add customizations, share preferences, and so much more. And the cost to users would, or could, be absolutely nothing.</p> <p>I understand there’s no revenue model there, but if you want to <q>keep building tools that support real users, in real time, without waiting for perfect conditions</q> then I think that approach offers the greatest reach with the least risk of harm.</p> <p>Here’s your opportunity to show you mean what you say.</p> </blockquote> <!-- --> <h3> Me; <time datetime="2025-07-08T17:01:05-04:00">8 July 2025 at 5:01 pm</time>; <a href="/2025/01/ftc-catches-up-to-accessibe.html#comment-364743" class="noprint">Permalink</a> </h3> <blockquote class="comment byuser comment-author-adrian-roselli bypostauthor even depth-2" id="comment-364743"> <p>Dear AAAnow sales team,</p> <p>As promised, <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" rel="nofollow ugc">I left a comment on your LinkedIn post</a>. I also <a href="https://web.archive.org/web/20250708205742/https://www.linkedin.com/pulse/why-accessibility-widgets-still-deserve-place-aaanow-uah4e/" rel="nofollow ugc">stuffed it into the Wayback Machine</a>.</p> </blockquote> <!-- --> <!-- --> <!-- --> </details> <details> <summary>The conversation at LinkedIn</summary> <!-- --> <!-- --> <!-- --> <p> You must be logged in to LinkedIn for the permalinks to bring you to the specific comment. </p> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>You left two comments on my blog trying to drive interaction over here. I have a detailed response to this post, with references, over there (anchor link to my response to your second comment):<br> <a href="https://adrianroselli.com/2025/01/ftc-catches-up-to-accessibe.html#comment-364739">https://adrianroselli.com/2025/01/ftc-catches-up-to-accessibe.html#comment-364739</a></p> <p>To summarize, we continue to establish that overlays, broadly, do not work and increase risk. Nothing you have offered comes close to refuting years of data, articles, research, legal cases, and more.</p> <p>Features you identify are either already built into the OS and browsers or aren’t proven to be useful (or used). Overlays offer crappier versions of some of those.</p> <p>You close by saying, “Let’s have a real conversation.”</p> <p>I have this conversation constantly. There are millions of dollars of venture capital _forcing_ me to have this conversation on a weekly basis. I have been sued for having this conversation. I’m having yet another conversation right now, with a sales team on my own blog, where it’s trying to juice its SEO and draw eyeballs.</p> <p>So what, as an organization, are you going to do to help disabled people as a result of this conversation?</p> </blockquote> <!-- --> <h3> AAAnow; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348666087770611712%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348666087770611712%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Adrian Roselli Thanks for your detailed response and for linking back to your site – we’ve read everything carefully.</p> <p>We’re not here to question the valuable work accessibility professionals have done, or dismiss the concerns raised by the disability community. We know that past versions of overlays have often missed the mark, sometimes badly.</p> <p>That said, accessibility isn’t moving forward fast enough. Millions of users remain unable to access digital services. For many organisations, especially those without the resources for ongoing development and audits, tools like widgets offer a quick way to give users more control.</p> <p>Are they perfect? No. But if someone with ADHD, dyslexia, or visual fatigue can switch a setting and instantly make a site easier to use, that matters. It’s progress.</p> <p>We’re not suggesting overlays are the entire solution. Rather, they can be one part of a broader approach – alongside automation, ongoing checks, and manual work where necessary.</p> <p>We want a genuine conversation. One that looks at making progress instead of insisting on perfection. That means facing the tough realities that slow accessibility efforts, and finding ways to scale inclusive experiences without relying solely on costly audits.</p> </blockquote> <!-- --> <h3> Lawrence Shaw; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348723170729754624%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348723170729754624%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Is that really the summary?<br> It sounds like another one-sided verdict from the “overlays don’t work” camp. Often well-meaning, but unwilling to accept that progress may not look how they imagined.<br> You cite legal cases, but the one mentioned relates to marketing claims, not pure overlay ‘capabilities’ themselves. That’s an important distinction.<br> Yes, browsers and OS settings offer accessibility tools. But most users who could benefit don’t know these features exist, let alone how to access them. Overlays and widgets provide visibility and simplicity.<br> Calling them “crappier versions” ignores the reality. Many tools make it easier for users to personalise their experience without needing technical knowledge. If inclusion is the goal, we should meet users where they are.<br> As for investment in this space — it exists because the problem is real, and technology can help. Not everyone can afford full audits or rebuilds.<br> We’re not defending overclaims. We’re asking for balance. Because if the current model worked, we wouldn’t still see the same fail rates year after year.<br> Perfect should not be the enemy of progress.<br> And inclusion should not be limited to those with big budgets.</p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348750336968298498%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348750336968298498%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Lawrence Shaw</p> <blockquote> <p>Is that really the summary?</p> </blockquote> <p>Yeah? I mean, it’s briefer and doesn’t include the links.</p> <blockquote> <p>It sounds like another one-sided verdict from the “overlays don’t work” camp. Often well-meaning, but unwilling to accept that progress may not look how they imagined.</p> </blockquote> <p>It’s certainly my side, since I have been dealing with them for a decade now. But the only progress I see has only come in their marketing claims. I am happy to be disabused of this with recent data and evidence that they do not introduce WCAG violations, that their technologies have demonstrable and provable improvements, and that the privacy concerns (including GDPR compliance) have been resolved by any single overlay vendor yet.</p> <blockquote> <p>You cite legal cases, but the one mentioned relates to marketing claims, not pure overlay ‘capabilities’ themselves. That’s an important distinction.</p> </blockquote> <p>The one I linked was the ADP v Lighthouse settlement, which included the statement: “For the purpose of this Agreement, ‘overlay; solutions such as those currently provided by companies such as AudioEye and AccessiBe will not suffice to achieve Accessibility.” That was very much about capabilities.</p> <p>[1/?]</p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348751395182788609%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348751395182788609%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Lawrence Shaw</p> <blockquote> <p>Yes, browsers and OS settings offer accessibility tools. But most users who could benefit don’t know these features exist, let alone how to access them. Overlays and widgets provide visibility and simplicity.</p> </blockquote> <p>While <em>so far</em> demonstrably failing to work while <em>also</em> increasing WCAG risk for the companies using them, raising new barriers for some users, and creating privacy risk for everyone.</p> <blockquote> <p>If inclusion is the goal, we should meet users where they are. As for investment in this space — it exists because the problem is real, and technology can help. Not everyone can afford full audits or rebuilds.</p> </blockquote> <p>Agreed. Stop relying on enterprises to buy these tools. Release something that can help at scale — like a free browser extension (which I am referencing in the response to the comment on my blog).</p> <blockquote> <p>We’re not defending overclaims. We’re asking for balance. Because if the current model worked, we wouldn’t still see the same fail rates year after year.</p> </blockquote> <p>But you’re not acknowledging their faults. This entire discussion casually dismisses the ethics of the business model and prior behaviors of the big players. That’s a passive defense.</p> <p>[2/2]</p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348755383710105601%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348755383710105601%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>AAAnow I responded to your latest comment on my blog:<br> <a href="https://adrianroselli.com/2025/01/ftc-catches-up-to-accessibe.html#comment-364885">https://adrianroselli.com/2025/01/ftc-catches-up-to-accessibe.html#comment-364885</a> (anchor link)</p> <p>Since it’s largely what I would say here and includes links to support my statements, it’s easier than writing this twice.</p> <p>Readers needn’t worry I’m trying to drive traffic to my site — it has no ads, no trackers, and I don’t keep stats. But, unlike LinkedIn, it’s not a walled garden that requires a login and is not its own special accessibility quagmire.</p> </blockquote> <!-- --> <h3> Lawrence Shaw; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348787017792516097%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348787017792516097%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Adrian Roselli Connect with me (sent a request) like to share something with you I think we can agree on and use to make a difference</p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348795418383683586%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287348795418383683586%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Lawrence Shaw Pass. Your sales team lured me here to participate in an open and transparent discussion. Share it here.</p> </blockquote> <!-- --> <h3> Lawrence Shaw; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7349040426105847808%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287349040426105847808%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>It would help it stayed near the post / content – no one is claiming ‘accessibility compliance’ this is a piece that presents capabilities of technology, who benefits and how. Lots of replies, comments relating to clams made by other companies, none of which we are getting in to.</p> <p>ADP Case – a while ago now, back in 2021</p> <p>Far more recent, the court (this year….)<br> Erkan v. Hidalgo_2025 U.S. Dist. LEXIS 10404.pdf</p> <p>There is a release about it here <br> (I don’t believe the court ‘named’ the overlay, more referenced)<br> <a href="https://accessibe.com/blog/knowledgebase/court-affirms-accesswidget-role-in-accessibility">https://accessibe.com/blog/knowledgebase/court-affirms-accesswidget-role-in-accessibility</a></p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7349062589106089984%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287349062589106089984%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <blockquote> <p>ADP Case – a while ago now, back in 2021</p> </blockquote> <p>Yes, the ADP case was a few years ago and there are hundreds since then.</p> <blockquote> <p>Lots of replies, comments relating to clams made by other companies, none of which we are getting in to.</p> </blockquote> <p>And yet, the thing you wanted to have a private conversation about me with is… a claim made by another (overlay) company.</p> <blockquote> <p>Far more recent, the court (this year….) Erkan v. Hidalgo_2025 U.S. Dist. LEXIS 10404.pdf<br> There is a release about it here (I don’t believe the court ‘named’ the overlay, more referenced)</p> </blockquote> <p>Citing accessiBe’s own press release is a bold move considering the FTC fined accessiBe for repeatedly lying.</p> <p>In fact, it looks like the site developer made the edits himself and then brought in the overlay to tick a box to satisfy the plaintiff that it was taking ongoing action:<br> <a href="https://www.casemine.com/judgement/us/6791c5d628730f3ea8e4aef8">https://www.casemine.com/judgement/us/6791c5d628730f3ea8e4aef8</a></p> <p>As I’ve looked back through this conversation, I can’t help but think your focus on ADHD, dyslexia, and contrast is specifically because it matches the core features of ARTY, the overlay your other company, Sitemorse (but developed by AAAnow), is selling.</p> <p>This entire “open” discussion is a marketing ploy.</p> </blockquote> <!-- --> <h3> Lawrence Shaw; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7349070480017952768%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287349070480017952768%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Let’s be clear: if this were a marketing ploy, we’d have posted a product name, price, and signup link. We didn’t. Because it isn’t.<br> Yes — ADHD, dyslexia, and contrast are real challenges. They’re also exactly the kind of things visitor experience panels can support. Not in theory — in practice.</p> <p>No, most people don’t know how to dig through browser settings. And I get that’s unpopular in the anti-overlay camp — but it’s the reality for many users.</p> <p>So maybe we are on the right track. That’s not a “gotcha.” That’s progress.</p> <p>And yes, I cited accessiBe’s release. That doesn’t change what the judge said or the fact that many are trying to make things better now — even if it’s not perfect.<br> Calling anything outside the “overlays are bad” script a marketing ploy shuts down real debate.</p> <p>The space is already flooded with negativity. All we’re saying is — maybe there’s room for more than one perspective.<br> And the private message? I reached out because your idea had merit. I’ll always look at anything that helps companies move forward on inclusion.</p> </blockquote> <!-- --> <h3> Me; <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7346882835804266498?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7348453181678338049%29&replyUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7346882835804266498%2C7349100931143073794%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348453181678338049%2Curn%3Ali%3AugcPost%3A7346882835804266498%29&dashReplyUrn=urn%3Ali%3Afsd_comment%3A%287349100931143073794%2Curn%3Ali%3AugcPost%3A7346882835804266498%29" class="noprint">Permalink</a> </h3> <blockquote class="comment"> <p>Lawrence Shaw</p> <blockquote> <p>Let’s be clear: if this were a marketing ploy…</p> </blockquote> <p>You and I know better than that. This effort is trying to reframe the term while failing to disclose you have an overlay product. Ethically dubious.</p> <blockquote> <p>Yes — ADHD, dyslexia, and contrast are […] the kind of things visitor experience panels can support.</p> </blockquote> <p>When they actually help *and* don’t introduce more barriers, don’t paint a lawsuit target, and respect user privacy.</p> <blockquote> <p>And yes, I cited accessiBe’s release. That doesn’t change what the judge said …</p> </blockquote> <p>That tells me you believe serial-liar accessiBe’s selective quoting and maybe didn’t read the full ruling.</p> <blockquote> <p>Calling anything outside the “overlays are bad” script a marketing ploy shuts down real debate.</p> </blockquote> <p>There’s plenty of debate here — as you wanted. I don’t think you’ve demonstrated, with evidence, that the needle has moved much (if at all).</p> <blockquote> <p>The space is already flooded with negativity.</p> </blockquote> <p>From users who’ve been harmed and customers who’ve been lied to. Valid and warranted negativity.</p> <blockquote> <p>I’ll always look at anything that helps companies move forward on inclusion.</p> </blockquote> <p>And I’ll call out anything that puts disabled users at risk.</p> <p>Anyway, this has been fun but I’m out. Good day, Lawrence.</p> </blockquote> <!-- --> <!-- --> <!-- --> <!-- --> </details> <h2 id="Work">But Does ARTY the Accessibility Overlay Work?</h2> <p> Sorry, its formal name is <q>Artymus Intelligentis III, the visitor experience panel,</q> abbreviated visually as <q>AiCM</q> when opened (in the iframe titled <q>Accessibility Content Manager</q>; no really, inspect that AiCM thing). </p> <p> AAAnow has cherry-picked ADHD, dyslexia, and low vision. The first two are known to rely on accommodations that are specific to the individual, and low vision is so generic a statement as to be meaningless. </p> <p> To AAAnow’s credit, it makes absolutely no claims about WCAG conformance. It makes no promises about legal compliance. It doesn’t offer to hold your hand when someone comes after you. It has AAAtraq for that (with messages like <q>ADA Compliance</q> and <q>Get real, or get sued.</q>) So, you know, cross-sell opportunities abound. </p> <p> AAAnow also does not pitch itself as a feature for all users and doesn’t assert anything about screen readers, which is good given even <a href="https://www.youtube.com/watch?v=mvKTItqsOCg">non-practitioners know what a mess overlays are for screen reader users</a>. </p> <p> That means a quick test should be easy. I’ve fired it up in the most popular browser, Chrome, and disabled extensions. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-banner.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-banner.png" alt="A footer of legalese and links, and at the bottom is a purple banner with a little robot, a green thumbs-up and a red thumbs-down." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-everything.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-everything.png" alt="A dark, jumbled, desaturated page with overlapping text, a narrow band of light, and at least one custom font instance." width="1521" height="1485"></a> <figcaption>The first image shows the prompt to activate ARTY: “Hi, I’m ARTY. I can help improve your experience on this website. Click 👍 for options to switch on voice-over, reduce clutter for ADHD, enable dyslexia support, make the text easier to read, and more…” There is also a link in a CAPTCHA button that is obscured by the footer, but the browser status bar shows it has focus. The second image is a tease showing most of the features activated.</figcaption> </figure> <p> Before I wade into this, I want to make it clear I did not use the “Personalize Experience” feature to adjust it at all. I haven’t got time to test every permutation, so I’m using what AAAnow decided were good defaults. </p> <h3 id="ADHD">ADHD</h3> <p> As of my test, there appears to be only one setting for ADHD. I am leaving the original view of the page prior to activating the feature. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-untouched.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-untouched.png" alt="The Sitemorse ARTY page in its default state, with dark text on a light background, a smiling purple robot illustration, and a purple banner with a form field, using only a placeholder, prompting you to enter your email." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-ADHD.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-ADHD.png" alt="The page is desaturated, much darker overall, and a horizontal bar runs the width of the window allowing about 5 lines of text to be visible at a time." width="1521" height="1485"></a> <figcaption>The first image is the default state of the page. The second image shows the single feature it adds is a non-darkened bar through which the page color is maintained and which follows your mouse pointer.</figcaption> </figure> <h3 id="Dyslexia">Dyslexia</h3> <p> This is a font change. It uses Open Dyslexic (<a href="/2015/03/typefaces-for-dyslexia.html">which has questionable benefit</a>), but only in a very few places. I could find no changes to text size, spacing, alignment, leading, kerning, word-spacing, nor anything else. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-untouched.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-untouched.png" alt="The Sitemorse ARTY page in its default state, with dark text on a light background, a smiling purple robot illustration, and a purple banner with a form field, using only a placeholder, prompting you to enter your email." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-dyslexia.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-dyslexia.png" alt="Bottom of the Sitemorse page where only one row and one column of links are in the bubbly custom font; the vast majority of the text is unchanged." width="1521" height="1485"></a> <figcaption>The first image is the default state of the page. The second image is scrolled to the bottom to show the only text that changed (some links are obscured by the overlay). The field placeholder also changed, but none of the body copy got this specialized font.</figcaption> </figure> <h3 id="Vision">Vision</h3> <p> I captured two images to show the full experience for this single setting. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-vision-01.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-vision-01.png" alt="Larger blue body text against the white page, and very magenta robot." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-vision-02.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-vision-02.png" alt="The bottom of the page is mostly larger text, but the Twitter icon is alarmingly bright, while LinkedIn and YouTube icons are simply loud." width="1521" height="1485"></a> <figcaption>The text gets larger, the body text turns blue, and the saturation is ratcheted up. This has the effect of making the robot look even more of a cartoon.</figcaption> </figure> <h3 id="Color">Color</h3> <p> Despite the three tiny circles under the eye icon for the color button, this seemed to have only one setting. Typically when I see an overlay offer this feature, the three little circles indicate I will cycle through three options, but not here. I checked under the hood, and it’s a <code><div role="switch"></code>, so it’s only meant to support on and off. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-untouched.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-untouched.png" alt="The Sitemorse ARTY page in its default state, with dark text on a light background, a smiling purple robot illustration, and a purple banner with a form field, using only a placeholder, prompting you to enter your email." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-color.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-color.png" alt="The already largely colorless page doesn't change much, except the purple robot and middle bar are a dirty dark purple." width="1521" height="1485"></a> <figcaption>The first image is the default state of the page. The second image is just… desaturated. I’m not pulling out an eyedropper nor looking at the code to see how the desaturation differs from the ADHD desaturation.</figcaption> </figure> <h3 id="Motor">Motor</h3> <p> I need two images for this one. What’s fun with this feature is I discovered the pointer became a large arrow (regardless of what content was hovered), so it didn’t visually convey links. I should note, I did not size my window for this effect; this is my default window size. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-motor-01.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-motor-01.png" alt="Everything is larger and overlapping; the logos in the banner are clipped by the window as is most other text." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-motor-02.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-motor-02.png" alt="Most page and footer content extends outside the window and all footer links overlap page content." width="1521" height="1485"></a> <figcaption>Nearly all the content is illegible. Between overlapping and clipping out of the viewport, this page cannot be read. Not only that, to use the primary navigation I would have to disable the accessibility feature I had just enabled.</figcaption> </figure> <h3 id="Seizure">Seizure</h3> <p> The page had no animations, videos, flashing, spinning, whooping, dancing, or anything else not allowed in <a href="https://en.wikipedia.org/wiki/Footloose">Bomont, Utah</a>. So this may have been a poor test of its capability. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-untouched.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-untouched.png" alt="The Sitemorse ARTY page in its default state, with dark text on a light background, a smiling purple robot illustration, and a purple banner with a form field, using only a placeholder, prompting you to enter your email." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-seizure.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-seizure.png" alt="No difference from the original page other than being much grayer." width="1521" height="1485"></a> <figcaption>The first image is the default state of the page. The second image is a desaturated version, perhaps recognizing bright, vibrant, adjacent colors (such as those from the vision setting) can cause problems.</figcaption> </figure> <h3 id="Text">Text Only</h3> <p> If you think this looks like the reader mode in your browser, well, yeah. Like the reader mode of your browser, it only shows the “middle” content of that page. With the added bonus that when you turn it off, the ARTY accessibility overlay is gone. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-text-only-01.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-text-only-01.png" alt="White text on a dark gray page, much like the browser feature, but only some of the page content." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-text-only-02.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-text-only-02.png" alt="The original page, except the overlay is not visible nor is its trigger." width="1521" height="1485"></a> <figcaption>The advantage to closing ARTY is I can now read the entire footer.</figcaption> </figure> <h3 id="Voice">Voice Over</h3> <p> This is not meant to replicate a screen reader. Do not equate the two. It’s meant to help users hear a word they might otherwise struggle to read. As such, it relies solely on a user operating a pointer to work. When launched, it speaks, <q>Voice Over activated. Hold your mouse pointer over an item on the page to read out its text equivalent.</q> You will quickly find it does not announce the text that appears in all the <code>title</code> tool-tips, it announces none of the overlay content, and it’s finicky about anything partially obscured by the overlay. </p> <figure class="two"> <a href="/wp-content/uploads/2025/07/ARTY-untouched.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-untouched.png" alt="The Sitemorse ARTY page in its default state, with dark text on a light background, a smiling purple robot illustration, and a purple banner with a form field, using only a placeholder, prompting you to enter your email." width="1521" height="1485"></a> <a href="/wp-content/uploads/2025/07/ARTY-voice-over.png"><img loading="lazy" src="/wp-content/uploads/2025/07/ARTY-voice-over.png" alt="Looks exactly like the page in its default state, except the voice over button has a check mark." width="1521" height="1485"></a> <figcaption>The first image is the default state of the page. There is no visual cue which text is being announced, which is something I have seen other accessibility overlays provide.</figcaption> </figure> <h2 id="Verdict">What’s My Verdict?</h2> <p> In that discussion, as AAAnow argued that something is better than nothing, I repeatly disagreed and pointed out three fundamental cases where that is wrong: </p> <ul> <li>The presence of an overlay can be like <a href="https://www.accessibility.works/blog/avoid-accessibility-overlay-tools-toolbar-plugins/">painting a lawsuit target</a> on a site;</li> <li>Overlay features often introduce WCAG violations, creating barriers to users and risk to customers;</li> <li>Privacy is often ignored and security is a concern.</li> </ul> <h3 id="Risk">Lawsuit Risk</h3> <p> To the first point, I’ve established Artymus Intelligentis III is an accessibility overlay. Drive-by litigants see an easy target in its customers — companies willing to pay a token sum instead of putting in the work. The fact that ARTY <em>says</em> it’s an “accessibility panel” may be like chum to them. </p> <h3 id="WCAG">WCAG</h3> <p> AAAnow doesn’t promise to address WCAG. But ARTY introduces WCAG violations. The overlay itself may be <em>mostly</em> free of violations, but even before launching it I could spot a couple it added to the page and more once the overlay was open. No, I am not giving AAAnow free consulting by identifying them. I’ve learned that lesson with overlay companies. </p> <p> Further, activating some of these features clearly introduces… challenges. AAAnow can argue that users choose to create such hostile outcomes, but the promise of the tool says otherwise. If its leadership continues to reference accessiBe, then we’ll likely see the same gaslighting in response to genuine user complaints. </p> <h3 id="Privacy">Privacy & Security</h3> <p> Finally, I found no statements on if or how ARTY gathers, tracks, stores, shares, or does anything else with the information it gathers about users. The overlay, which is meant to appear on customer sites, seems to have no privacy statement. Users may have no way to gauge if or how their self-identification of a medical concern will be used. The best I found was the statement that it <q>is securely integrated into your web pages</q> on the product page itself, without any more detail. </p> <p> Interestingly, the AAAnow executive officer is <em>also</em> the CEO of Privacy and Cookies which his bio says offers “Privacy-as-a-Service.” Privacy and Cookies is behind the cookie banner on the ARTY page. That privacy banner (which lists Privacy and Cookies, Sitemorse, and AAAtraq as necessary cookies) has its own collection of WCAG violations, suggesting it’s a bad idea for ARTY customers to use if their goal is reducing risk. </p> <h2 id="Wrap">Wrap Up</h2> <p> There are other bits of evidence suggesting the overall corporate triumvirate (quadrumvirate, really) might not meet the level of commitment you need as a customer or user. Look at how AAAtraq markets its product, consider who Sitemorse’s actual customers are, check those auto-generated captions on the video linked from the ARTY page, check the WCAG gaps in the sites, consider how (or if) those overlay remediations were tested, notice how quickly the executive officer used accessiBe for cover, pay attention to the lack of evidence in their arguments, and so on. </p> <p> Roll all that together with its failure to disclose its product when trying to start an open discussion about that class of product, and I have low confidence in their ethical guiding principles. </p> <p> For me, there is more than enough evidence to suggest I would be taking on more risk by purchasing its limited-scope accessibility overlay product than ignoring it. As Karl pointed out in <a href="https://karlgroves.com/the-overlay-personalization-farce/"><cite>The overlay personalization farce</cite></a>, users already have options in their operating systems and with browser extensions, which usually work better than what overlays can do, with less risk, and across all sites. </p> <h2 id="Related">Related</h2> <p> Other overlay vendors that I believe misrepresent the truth: </p> <ul> <li><a href="/2020/06/accessibe-will-get-you-sued.html"><cite>#accessiBe Will Get You Sued</cite></a>, 29 June 2020</li> <li><a href="/2021/09/userway-will-get-you-sued.html"><cite>#UserWay Will Get You Sued</cite></a>, 13 September 2021</li> <li><a href="/2022/03/faciliti-will-get-you-sued.html"><cite>#FACILiti Will Get You Sued</cite></a>, 9 March 2022</li> <li><a href="/2023/02/audioeye-will-get-you-sued.html"><cite>#AudioEye Will Get You Sued</cite></a>, 26 February 2023</li> <li><a href="/2025/07/accesstive-will-get-you-sued.html"><cite>#Accesstive Will Get You Sued</cite></a>, 8 July 2025</li> </ul> <p> Talks I’ve given about overlays: </p> <ul> <li><a href="/2021/11/overlays-underwhelm-web-directions-aaa-2021.html"><cite>Overlays Underwhelm: Web Directions AAA 2021</cite></a>, 4 November 2021</li> <li><a href="/2022/03/overlays-underwhelm-a11y-nyc.html"><cite>Overlays Underwhelm: a11y NYC</cite></a>, 1 March 2022</li> <li><a href="/2022/09/overlays-underwhelm-at-id24.html"><cite>Overlays Underwhelm at ID24</cite></a>, 21 September 2022</li> <li><a href="/2022/11/overlays-underwhelm-at-wordpress-a11y-day.html"><cite>Overlays Underwhelm at WordPress A11y Day</cite></a>, 3 November 2022</li> </ul> <p> Tactics worth knowing: </p> <ul> <li><a href="/2021/01/sub-1000-web-accessibility-solution.html"><cite>Sub-$1,000 Web Accessibility Solution</cite></a>, 12 January 2021</li> <li><a href="/2021/02/free-feedback-for-accessibe.html"><cite>Free Feedback for #accessiBe</cite></a>, 14 February 2021</li> <li><a href="/2022/08/ftc-commercial-surveillance-and-overlays.html"><cite>FTC, Commercial Surveillance, and Overlays</cite></a>, 12 August 2022</li> <li><a href="/2022/09/accessibility-at-the-edge-w3c-cg-is-an-overlay-smoke-screen.html"><cite>‘Accessibility at the Edge’ W3C CG Is an Overlay Smoke Screen</cite></a>, 1 September 2022</li> </ul> <style> details > blockquote { margin-inline-start: 2.2em; } </style>]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/07/arty-could-get-you-sued.html/feed</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item> <title>#Accesstive Will Get You Sued</title> <link>https://adrianroselli.com/2025/07/accesstive-will-get-you-sued.html</link> <comments>https://adrianroselli.com/2025/07/accesstive-will-get-you-sued.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Tue, 08 Jul 2025 14:50:59 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[overlay]]></category> <category><![CDATA[rant]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=35251</guid> <description><![CDATA[I can’t actually assert the Accesstive overlay will result in a lawsuit, though there is a trend of overlays attracting lawsuits. Attorneys say overlays don’t protect from lawsuits, either. Regardless of the company making it, if you wonder if you should use an accessibility overlay, the answer is no. Accesstive’s…]]></description> <content:encoded><![CDATA[<p> I can’t actually assert the Accesstive overlay will result in a lawsuit, though there is a trend of <a href="https://www.accessibility.works/blog/avoid-accessibility-overlay-tools-toolbar-plugins/">overlays attracting lawsuits</a>. Attorneys say <a href="https://adrianroselli.com/2020/06/accessibe-will-get-you-sued.html#Update26">overlays don’t <em>protect</em> from lawsuits</a>, either. Regardless of the company making it, if you wonder if you should use an accessibility overlay, <a href="https://shouldiuseanaccessibilityoverlay.com/">the answer is no</a>. Accesstive’s overlay just happens to be the subject of this post. </p> <p> This post is, of course, my opinion. I provide evidence throughout to support that opinion. You may have a different opinion, in which case good for you. </p> <h2 id="What">What is Accesstive?</h2> <p> <a href="https://accesstive.com/imprint/" rel="nofollow noreferrer">Accesstive</a> appears to be the outgrowth of <a href="https://t3planet.de/en/imprint" rel="nofollow noreferrer">T3Planet</a>, a German agency dedicated to the Typo3 content management system. T3Planet is, in turn, another outgrowth of <a href="https://nitsantech.de/en/impressum" rel="nofollow noreferrer">NITSAN</a>, a German agency dedicated to the Typo3 content management system. </p> <p> More specifically, Accesstive (the entity) appears to be a corporate wrapper for a more broadly scoped version of the <a href="https://t3planet.de/en/typo3-accessibility-extension">TYPO3 Accessibility Extension</a>. Accesstive doesn’t market itself exclusively to Typo3 authors. </p> <p> Over on Twitter, as of 5 June 2025, <a href="https://x.com/accesstive/status/1930627769454719279" rel="nofollow noreferrer">Accesstive’s only post</a> is an emoji-laden tweet with an alt-less image promising access to its final product “soon.” Which it <a href="https://www.facebook.com/people/Accesstive/61569665543936/" rel="nofollow noreferrer">replicated on Facebook</a> and <a href="https://www.instagram.com/accesstive/p/DKzMPXwNTxF/" rel="nofollow noreferrer">on Instagram</a> and <a href="https://www.linkedin.com/posts/accesstive_somethingbigiscoming-accesstive-webaccessibility-activity-7336394354506235904-qPMH" rel="nofollow noreferrer">on LinkedIn</a>. </p> <p> <a href="https://accesstive.com/company/" rel="nofollow noreferrer">Accesstive claims</a> it was started in 2021 and has <q>40+ Humans.</q> I presume they are not all crammed into <a href="https://maps.app.goo.gl/DXbguRh8cUbybhUw5">Bischofsweg 6 in Dresden</a> with the other twelve companies listed at the same address. </p> <p> I understand the <span lang="de">Öz Nemrut</span> next door <a href="https://toot.cafe/@bednarz@chaos.social/114802404081436442">makes a good vegan <span lang="de">Dürüm Döner</span></a>. </p> <h2 id="Overlay">Is Accesstive an Overlay?</h2> <p> Accesstive offers an “<a href="https://accesstive.com/access-assistant/" rel="nofollow noreferrer">AI-Powered Assistant Web Accessibility Widget</a>” named <em>Accesstive Assistant</em>. Accesstive offers other services as well, but I am not reviewing those. I am only discussing Accesstive in the context of its overlay product. </p> <p> To Accesstive’s credit, it makes no guarantees about legal compliance nor WCAG conformance for its overlay. Accesstive’s <a href="https://accesstive.com/access-assistant/#:~:text=supports%C2%A0%0AWCAG%20%26%20ADA%20compliance%20through%20screen%20reader%2C%20keyboard%20%26%20UI%20adjustments" rel="nofollow noreferrer">language is much softer</a>: <q><em>supports</em> WCAG & ADA compliance through screen reader, keyboard & UI adjustments</q> (emphasis mine). Accesstive repeats this at least twice more on the page, including the <a href="https://accesstive.com/access-assistant/#link-31" rel="nofollow noreferrer">first question of its FAQ</a>: <q>Does Access Assistant alone guarantee legal compliance? No. It tackles many key issues and helps users customize their experience, but full compliance often requires additional steps.</q> </p> <p> So kudos to Accesstive for avoiding the easy lie of guarantees (which <a href="/2025/01/ftc-catches-up-to-accessibe.html">got accessiBe fined by the FTC</a>). </p> <h2 id="Overlay">Is Accesstive’s Overlay Any Good?</h2> <p> I want to be very clear that I have learned my lesson about giving free consulting to overlay companies, so I am not going to outline a path for it to remedy its failures. But I will show a couple examples that were literally the first things I tried. </p> <p> I popped open JAWS and Chrome and started to wade through the offerings of the overlay. It was when I got to the <em>Orientation</em> section that I was curious and started playing around. </p> <p> Here is the code for the “Cursor” button (I got rid of all the classes), which is likely only interesting to practitioners (nerds like me): </p> <pre><code><<mark>label</mark> for="nsaEnableCursorStyle" […] <mark>tabindex="0" aria-label="Cursor" role="checkbox" aria-checked="false"</mark>> <span […]> <span […] aria-hidden="true"> <span […]> <svg xmlns="http://www.w3.org/2000/svg" […]>[…]</svg> </span> </span> </span> <span […]" data-nsalangid="featureCursor"> <mark>Cursor</mark> </span> <span […]> <span […] data-identifier="check-icon" aria-hidden="true"> <span […]> <svg xmlns="http://www.w3.org/2000/svg" […]>[…]</svg> </span> </span> </span> </label> <<mark>button […] role="checkbox" aria-label="More Option" tabindex="0"</mark>> <span […] data-nsalangid="featureMoreOption"> <mark>More Option</mark> </span> </button></code></pre> <p> Here’s a video of me trying to activate that control, and the analogous “Text Magnify” control: </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/07/Accesstive-Assistant_cursor-magnify-JAWS_poster.jpg"> <source src="/wp-content/uploads/2025/07/Accesstive-Assistant_cursor-magnify-JAWS.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/07/Accesstive-Assistant_cursor-magnify-JAWS.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_cursor-magnify-JAWS.mp4">download it</a>. The <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_cursor-magnify-JAWS.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>Pressing <kbd>Space</kbd> has no immediate visible effect on the page, but more importantly it doesn’t seem to visually or programmatically toggle the checkboxes.</figcaption> </figure> <p> You may notice that the button following the <a href="/2020/02/role-up.html">roled-up</a> <code><label></code> never gets announced. You may also notice the state of the fake checkbox never changes. You may also <a href="/2017/02/not-all-screen-reader-users-are-blind.html">wrongly argue</a> that a screen reader user has no need of a fatter cursor or enlarged text. Though the developers maybe thought so, since the text magnifier (visually <q>Text Magn…</q>) requires a pointer (you have to drag it around to magnify text). </p> <p> There is a font size option elsewhere in the overlay. It doesn’t impact the text in the overlay itself. Which is arguably a good failure since the buttons in the overlay are mostly truncated text at the default size. </p> <p> So instead allow me to pretend to be a blind screen reader user and activate the “Screen Reader” button instead (which uses very different HTML than its peers): </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/07/Accesstive-Assistant_SR-JAWS_poster.jpg"> <source src="/wp-content/uploads/2025/07/Accesstive-Assistant_SR-JAWS.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/07/Accesstive-Assistant_SR-JAWS.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_SR-JAWS.mp4">download it</a>. The <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_SR-JAWS.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>After I activated the feature, JAWS’ virtual cursor focus was tossed to the page. But the overlay put programmatic focus on the first link. I had to listen to both voices to try to navigate back to the overlay. Eventually I started pressing <kbd>B</kbd> in hope of getting to the trigger, and when I finally got into the overlay and focus again got lost, I simply closed the browser.</figcaption> </figure> <p> Those may have been weird because I was using a screen reader. Let me try one of the simpler features without any assistive tech running. There is a scrolling list of CMSes partway down the page. The overlay has a feature to pause animations. </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/07/Accessive-Assistant_pause-animations_poster.png"> <source src="/wp-content/uploads/2025/07/Accessive-Assistant_pause-animations.mp4" type="video/mp4"> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/07/Accessive-Assistant_pause-animations.mp4">download it</a>. </video> <figcaption>The two rows of logos continue to move across the screen seemingly no matter how hard I click the “Pause A…” button. This is true regardless of which browser I use.</figcaption> </figure> <p> At this point it’s clear that Accesstive Assistant doesn’t seem to address the things I tested and introduces WCAG violations (pay attention to states and hidden focus in those videos, for example). I opted to use the Axe devtools to see <em>how many</em> errors Accesstive Assistant introduced on a page. </p> <figure> <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_axe_before-after-scaled.jpg"><img loading="lazy" src="/wp-content/uploads/2025/07/Accesstive-Assistant_axe_before-after-scaled.jpg" alt="The overlay product page shows 3 serious and 2 moderate issues, with 2 best practices; the same page with the overlay open shows 2 critical, 3 serious, 12 moderate, and 4 minor issues, with 16 best practice issues." width="2560" height="1024"></a> <figcaption>Axe reports the Accesstive Assistant marketing page has 5 total issues, but when I activate the Accesstive Assistant overlay, it jumps 420% to report 21 issues.</figcaption> </figure> <p> If you’re wondering why I’m using Deque’s Axe to test the page, it’s <a href="/2023/01/comparing-manual-and-free-automated-wcag-reviews.html">not because I think it’s the best</a>, it’s because Accesstive does. </p> <figure> <a href="/wp-content/uploads/2025/07/Accesstive-using-axe.jpg"><img loading="lazy" src="/wp-content/uploads/2025/07/Accesstive-using-axe.jpg" alt="The Accesstive free audit page showing its “Free AI Accessibility Audit” as a split screen showing a dashboard reporting 145 issues found, scrolled down slightly to show a rule named ‘aria-command-name’. Another browser tab is visible, open to the page for the axe 4.8 rules." width="1668" height="1491"></a> <figcaption>The Accesstive “Free AI Accessibility Audit” is seemingly only axe-core rules, which found 145 issues on its “Free AI Accessibility Audit” page.</figcaption> </figure> <p> You may recall Accesstive talks up its “AI” services. It even teases this “AI” support within its automated axe-based checker. Unfortunately, that’s a feature I cannot review because it’s only available to paid customers. </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/07/Accesstive-Assistant_AI-assist_poster.jpg"> <source src="/wp-content/uploads/2025/07/Accesstive-Assistant_AI-assist.mp4" type="video/mp4"> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_AI-assist.mp4">download it</a>. </video> <figcaption>The clearly not-free “AI” accessibility audit of the “Free AI Accessibility Audit” page as it offers the “AI Solution Suggestion” but, when activated, declines to show it. Instead it reads: <q>Free monitoring does not provide access to the AI features. To use them, you’ll need to buy a plan.</q> I don’t know if that counts as a bait-and-switch.</figcaption> </figure> <p> The Accesstive Assistant page promises to provide good alt text for images, but only for images <q>missing alt text.</q> So while all the images on the page have essentially useless (but not missing) alt text, and the overlay itself doesn’t seem to have a button to provide alt text, I figured alt text corrections must happen automagically when opening the widget. </p> <figure> <a href="/wp-content/uploads/2025/07/Accesstive-Assistant_alt-text_before-after-scaled.jpg"><img loading="lazy" src="/wp-content/uploads/2025/07/Accesstive-Assistant_alt-text_before-after-scaled.jpg" alt="Firefox dev tools showing the image with alt text, and then again without alt text even though the overlay is active. Marketing text: “Smarter Alt Text with OCR & AI. Using Computer Vision + OCR, scans all visual content. If an image is missing alt text, our AI understands the image and generates meaningful alt text helping blind or low-vision users.”" width="2560" height="853"></a> <figcaption>I don’t think alt text of, “Smarter alt text” is a good proxy for an image that shows generated alt text of, “A cute unicorn toy.” Yes, the plush unicorn is indeed cute. Yes, the full text of the adjacent marketing copy is in my own verbose alt here, sorry.</figcaption> </figure> <p> I went through the page and used dev tools to remove the alt text from a few images and then opened the overlay. Nothing happened. It’s not a perfect test, so I’m not surprised. Either way, it seems clear they are not using the “AI” to create the alt text that was there and the overlay did not respond to me removing it, so it’s not clear to me where this feature helps. </p> <p> At this point, to answer my original question, no, I don’t think Accesstive’s overlay is any good and I’m not convinced its other accessibility-related service offerings are either. </p> <h2 id="Maybe">Maybe Because the Product Is so New?</h2> <p> Not every new, 4-year-old, 40-person company is going to have deep accessibility expertise out of the gate. There will be missteps. But perhaps the <em>hundreds</em> of Accesstive’s customers have had good things to say. </p> <figure> <img loading="lazy" src="/wp-content/uploads/2025/07/Accessttive_G2-TrustPilot.png" alt="Join hundreds of businesses and developers who trust Accesstive. G2 4.2/5, TrustPilot 4.3/5." width="1575" height="447"> <figcaption>I may have left that weirdly wrapping heading in there accidentally. That big blue box with the G2 and Trustpilot ratings has alt text of simply “Ratings.”</figcaption> </figure> <p> Oddly, I can find no record of those impressive ratings. Assistive <a href="https://www.trustpilot.com/review/accesstive.com">claims 4.3 out of 5 stars on Trustpilot, but it has no reviews</a> and no ratings. Similarly, in contrast to Assistive’s <a href="https://www.g2.com/products/accesstive/reviews">claimed 4.2 out of 5 stars on G2, it has none</a>. </p> <p> That big claim on Accesstive’s home page sure feels false to me. But lets give Accesstive another shot. </p> <p> I scrolled down to the individual human testimonials. I opted to look them up and find their employer, maybe giving some insight into how Assistive’s offerings manifest in their work. </p> <figure> <img loading="lazy" src="/wp-content/uploads/2025/07/Accesstive-testimonials.jpg" alt="Testimonials from Debbie M. Carlsen and Ricardo S. Cooper. “I've been using the Access AI Audit tool to check our website's accessibility, and it's been helpful. It points out issues in real time and gives clear instructions to fix them. I like that it doesn't require much technical knowledge. Sometimes it flags minor things, but overall, it's a…” and “I installed the Access Assistant on my company's website and found it very easy to set up. It provides accessibility features like contrast adjustment and text resizing, which our users appreciate. The tool works well without slowing down the site. It's affordable and a good option if…”" width="1567" height="643"> <figcaption>Yes, the full text of each is in the verbose alt (but it’s not core to this point). And yes, the quotes end in ellipses; those aren’t an artifact of the CSS.</figcaption> </figure> <p> Two of them were inconclusive — I could not match them to a company nor even a single person. <a href="https://duckduckgo.com/?q=%22Debbie+M.+Carlsen%22">Debbie M. Carlsen, however, had zero matches</a> and, while this may be my bias showing, <a href="https://accesstive.com/fileadmin/ns_theme_accesstive/Review_Images/Rectangle_7.png">that photo</a> does not look like a Debbie to me (because <a href="https://tineye.com/search/97a8ee8ad11f10ecc2ce936078fb2751f59b80c7">it’s fake</a>; <a href="https://chaos.social/@pluto/114819232154163873">thanks @pluto</a>!). <a href="https://duckduckgo.com/?q=%22Ricardo+S.+Cooper%22">Ricardo S. Cooper has one hit</a>, as an African-American cop in Baltimore. Again, it could be my bias, but <a href="https://accesstive.com/fileadmin/ns_theme_accesstive/Review_Images/Rectangle_3.png">his photo</a> doesn’t shout African-American to me. </p> <p> I may simply be bad at searching and those four testimoniers (yes, I made up another word) may be great at scrubbing themselves from the web. So let’s look to the <a href="https://web.archive.org/web/20250707191736/https://accesstive.com/case-studies/">Accesstive case studies</a> instead. There are ten of them, because this <a href="https://accesstive.com/case-studies/t3planet/" rel="nofollow noreferrer">eleventh case study</a> is clearly a placeholder: </p> <figure> <img loading="lazy" src="/wp-content/uploads/2025/07/Accesstive-case-study-placeholder.jpg" alt="How T3Planet Boosted Site Inclusivity & Engagement With Accesstive. 1–2 sentences summarizing the key outcome (e.g., “Increased accessibility compliance by 80% and improved conversions by 20%”)." width="1602" height="354"> <figcaption>Oops.</figcaption> </figure> <p> That’s fine, there are ten more Accesstive case studies for us to review. One of them even touts the work Accesstive did on its site, so that should be easy to check. </p> <img loading="lazy" src="/wp-content/uploads/2025/07/accesstive_other-thumb.jpg" alt="The Accesstive logo A modified to make the stylized dot in the eye of the eye look like a hooded, sad eye, which makes the arced cross-bar of the A look like frown; this is superimposed over the overlay with a colorful circle and text “AI Powered.”" width="572" height="572" class="right thirds"> <ol> <li><a href="https://accesstive.com/case-studies/zevroya/" rel="nofollow noreferrer">Zevroya Digital’s Shift to Inclusive Online Exhibits with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Zevroya+Digital%22">Zevroya Digital in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Zevroya+Digital%22">Zevroya Digital in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/drayvon-metrics/" rel="nofollow noreferrer">Making Real-Time Data Accessible for All Drayvon Metrics’ Accessibility Transformation</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Drayvon+Metrics%22">Drayvon Metrics in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Drayvon+Metrics%22">Drayvon Metrics in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/global-biotech-research/" rel="nofollow noreferrer">Making Global Biotech Research More Accessible with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Elarion+NovaTech%22">Elarion NovaTech in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Elarion+NovaTech%22">Elarion NovaTech in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/lunexa-grid-solutions/" rel="nofollow noreferrer">Lunexa Grid Solutions: Making Energy Dashboards Accessible with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Lunexa+Grid+Solutions%22">Lunexa Grid Solutions in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Lunexa+Grid+Solutions%22">Lunexa Grid Solutions in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/kornvix-media-labs/" rel="nofollow noreferrer">Kornvix Media Labs Boosts Website Accessibility with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Kornvix+Media+Labs%22">Kornvix Media Labs in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Kornvix+Media+Labs%22">Kornvix Media Labs in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/veltrona-orbitals/" rel="nofollow noreferrer">How Veltrona Orbitals Improved Aerospace Simulation Accessibility with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Veltrona+Orbitals%22">Veltrona Orbitals in DuckDuckGo</a>.</li> <li>Google suggested <a href="https://sossecinc.com/company/velontra-inc/#:~:text=Velontra%20is%20an%20aerospace%20technology%20company%20that,significantly%20lowering%20costs%20while%20dramatically%20increasing%20launch">this Oslo</a> (not Ohio) company, <a href="https://velontra.com/">Velontra</a>, but I doubt it.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/myrratek-archives/" rel="nofollow noreferrer">How Myrratek Archives Made Their Digital Collections Accessible</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Myrratek+Archives%22">Myrratek Archives in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Myrratek+Archives%22">Myrratek Archives in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/nuvralex-systems/" rel="nofollow noreferrer">Enhancing Compliance and Accessibility at Nuvralex Systems with Accesstive</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Nuvralex+Systems%22">Nuvralex Systems in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Nuvralex+Systems%22">Nuvralex Systems in Google</a>.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/cortovia-studios/" rel="nofollow noreferrer">Cortovia Studios Enhanced Accessibility with Accesstive Tools</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?q=%22Cortovia+Studios%22">Cortovia Studios in DuckDuckGo</a>.</li> <li>Google suggested <a href="https://www.cortopia.com/about-cortopia/">Cortopia</a>, but it’s in Stockholm, not Berlin.</li> </ul> </li> <li><a href="https://accesstive.com/case-studies/fyntrix-cloudworks/" rel="nofollow noreferrer">Climate Tech Accessible: How Fyntrix Cloudworks Improved Web Accessibility</a> <ul> <li>No hits for <a href="https://duckduckgo.com/?t=ffab&q=%22Fyntrix+Cloudworks%22">Fyntrix Cloudworks in DuckDuckGo</a>.</li> <li>No hits for <a href="https://www.google.com/search?q=%22Fyntrix+Cloudworks%22">Fyntrix Cloudworks in Google</a>.</li> </ul> </li> </ol> <p> That’s a lot of companies who have chosen to scrub themselves from the web. Including the one beaming about the help Accesstive provided for its site, but whose web site address (let alone a screen shot) isn’t in the case study. </p> <p> At this point, I’m starting to doubt any of the ratings, testimonials, or case studies Accesstive has provided are true. </p> <h2 id="Claims">How Do Accesstive’s Claims Stack Up?</h2> <p> Accesstive seems to make some bold claims — yet none that guarantee compliance or conformance. As a result it avoids the obvious false claims trouble in which other overlay vendors have found themselves. </p> <p> Instead, Accesstive claims… </p> <ul> <li>…ratings that don’t seem to exist,</li> <li>…testimonials from people that don’t seem to exist,</li> <li>…cases studies on companies that don’t seem to exist,</li> <li>…a product suite that is seemingly built on someone else’s technology, </li> <li>…WCAG fixes via an overlay product which introduces <em>more</em> WCAG violations,</li> <li>…it uses “AI” and, frankly, I am not about to pay to find out whether or not that is true.</li> </ul> <p> In short, my gut says using Accesstive’s overlay product will only put you at more risk than pretending you never heard of it. </p> <h2 id="Related">Related</h2> <p> Other overlay vendors that I believe misrepresent the truth: </p> <ul> <li><a href="/2020/06/accessibe-will-get-you-sued.html"><cite>#accessiBe Will Get You Sued</cite></a>, 29 June 2020</li> <li><a href="/2021/09/userway-will-get-you-sued.html"><cite>#UserWay Will Get You Sued</cite></a>, 13 September 2021</li> <li><a href="/2022/03/faciliti-will-get-you-sued.html"><cite>#FACILiti Will Get You Sued</cite></a>, 9 March 2022</li> <li><a href="/2023/02/audioeye-will-get-you-sued.html"><cite>#AudioEye Will Get You Sued</cite></a>, 26 February 2023</li> </ul> <p> Talks I’ve given about overlays: </p> <ul> <li><a href="/2021/11/overlays-underwhelm-web-directions-aaa-2021.html"><cite>Overlays Underwhelm: Web Directions AAA 2021</cite></a>, 4 November 2021</li> <li><a href="/2022/03/overlays-underwhelm-a11y-nyc.html"><cite>Overlays Underwhelm: a11y NYC</cite></a>, 1 March 2022</li> <li><a href="/2022/09/overlays-underwhelm-at-id24.html"><cite>Overlays Underwhelm at ID24</cite></a>, 21 September 2022</li> <li><a href="/2022/11/overlays-underwhelm-at-wordpress-a11y-day.html"><cite>Overlays Underwhelm at WordPress A11y Day</cite></a>, 3 November 2022</li> </ul> <p> Tactics worth knowing: </p> <ul> <li><a href="/2021/01/sub-1000-web-accessibility-solution.html"><cite>Sub-$1,000 Web Accessibility Solution</cite></a>, 12 January 2021</li> <li><a href="/2021/02/free-feedback-for-accessibe.html"><cite>Free Feedback for #accessiBe</cite></a>, 14 February 2021</li> <li><a href="/2022/08/ftc-commercial-surveillance-and-overlays.html"><cite>FTC, Commercial Surveillance, and Overlays</cite></a>, 12 August 2022</li> <li><a href="/2022/09/accessibility-at-the-edge-w3c-cg-is-an-overlay-smoke-screen.html"><cite>‘Accessibility at the Edge’ W3C CG Is an Overlay Smoke Screen</cite></a>, 1 September 2022</li> </ul> <!-- rel="nofollow noreferrer" --> ]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/07/accesstive-will-get-you-sued.html/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item> <title>Check / Uncheck all in a Table</title> <link>https://adrianroselli.com/2025/07/check-uncheck-all-in-a-table.html</link> <comments>https://adrianroselli.com/2025/07/check-uncheck-all-in-a-table.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Tue, 01 Jul 2025 11:27:26 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[html]]></category> <category><![CDATA[pattern]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[tables]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=34952</guid> <description><![CDATA[TL;DR: Unless you have user testing results saying otherwise, maybe put a check-all checkbox outside the table. The rest of this post is an awkward mash-up of my posts Don’t Turn a Table into an ARIA Grid Just for a Clickable Row and Check-All / Expand-All Controls with a little…]]></description> <content:encoded><![CDATA[<p> <strong>TL;DR</strong>: Unless you have user testing results saying otherwise, maybe put a check-all checkbox outside the table. </p> <p> The rest of this post is an awkward mash-up of my posts <cite><a href="/2023/11/dont-turn-a-table-into-an-aria-grid-just-for-a-clickable-row.html">Don’t Turn a Table into an ARIA Grid Just for a Clickable Row</a></cite> and <cite><a href="/2024/03/check-all-expand-all-controls.html">Check-All / Expand-All Controls</a></cite> with a little bit of <cite><a href="/2019/05/uniquely-labeling-fields-in-a-table.html">Uniquely Labeling Fields in a Table</a></cite>. </p> <h2 id="Demo">Demo</h2> <p> I made a demo. Try it out yourself! </p> <iframe src="/demos/select-unselect-all-table/" title="Embedded Example" width="100%" height="450" frameborder="0" allowfullscreen loading="lazy" style="background-color: light-dark(#fff,#000)"></iframe> <p> <a href="/demos/select-unselect-all-table/">Cruft-less version</a>. </p> <h2 id="Header">In the Column Header</h2> <p> The biggest challenge to placing the check-all checkbox in the column header is that its accessible name becomes the column header for all other checkboxes in the column. A second challenge is deciding on a visible label (wide column) or not (smaller target size for pointer users and hassle for voice users). </p> <pre><code><th> <input type="checkbox" id="ChkAllColumn"> <span> <label for="ChkAllColumn">Select all books</label> </span> </th></code></pre> <p> Consider screen reader users who navigate into the column, whether by table navigation or tabbing into that column for the first time to put focus on a checkbox. What the screen reader exposes (audio or Braille) can be confusing. In VoiceOver on macOS I sometimes got the row checkboxes to announce the wrong state, but could not figure out what caused it each time (hence no bug report). </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/06/table-select-all_column_poster.jpg"> <source src="/wp-content/uploads/2025/06/table-select-all_column.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/06/table-select-all_column.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/06/table-select-all_column.mp4">download it</a>. The <a href="/wp-content/uploads/2025/06/table-select-all_column.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>This video shows VoiceOver on iPadOS first putting focus on the select-all checkbox. Then it jumps ahead to showing explore-by-touch to put focus on three different checkboxes in the first column. I used a circuitous route with my finger just to demonstrate how a first visit into the column with the checkbox can make for a verbose and potentially confusing name.</figcaption> </figure> <h2 id="Caption">In the Caption</h2> <p> Putting the check-all checkbox in the <code><caption></code> means the table’s name is always going to be at least the accessible name for the checkbox. I say “at least” since you may be tempted to stuff more in the caption. </p> <pre><code><caption> <input type="checkbox" id="ChkAllCaption"> <label for="ChkAllCaption">Select all books</label> </caption></code></pre> <p> A screen reader user can navigate the table without a confusing column header. The check-all checkbox will be in the context of the table. The label is visible for voice control users. But navigating between tables can be annoying when the table name has been co-opted for the checkbox label. </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/06/table-select-all_caption_poster.jpg"> <source src="/wp-content/uploads/2025/06/table-select-all_caption.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/06/table-select-all_captio.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/06/table-select-all_caption.mp4">download it</a>. The <a href="/wp-content/uploads/2025/06/table-select-all_captio.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>The video starts with the JAWS element navigator open. I select tables and it tells me there are three tables on the page. Two of them have useful names, but “Select all books” is not a good name to distinguish it from other tables. Navigating to the table also announces “Select all books” as its name, also not terribly helpful for identifying its purpose.</figcaption> </figure> <h2 id="Outside">Outside the Table</h2> <p> When outside the table, the check-all checkbox doesn’t risk interfering with table use — table navigation, control announcement, accessible names, checkedness, and so on. The risk is that users unfamiliar with the page may move past it looking for the checkbox in the column header. </p> <pre><code><p> <input type="checkbox" id="ChkAllOutside"> <label for="ChkAllOutside">Select all books</label> </p> <table></code></pre> <p> How well users recognize the purpose of the check-all checkbox comes down to your design and overall context. Programmatically, there’s a visible label for voice users and no part of the table has been co-opted. Hence, a design exercise. </p> <figure> <video preload="metadata" controls="" poster="/wp-content/uploads/2025/06/table-select-all_outside_poster.jpg"> <source src="/wp-content/uploads/2025/06/table-select-all_outside.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en-us" src="/wp-content/uploads/2025/06/table-select-all_outside.vtt" default=""> Sorry, your browser doesn’t support embedded videos, but don’t worry, you can <a href="/wp-content/uploads/2025/06/table-select-all_outside.mp4">download it</a>. The <a href="/wp-content/uploads/2025/06/table-select-all_outside.vtt">caption file</a> is also available in case your video player can import it. </video> <figcaption>The video starts by navigating directly to the table in NVDA. The “Select all” checkbox is not within the table, so as I move through the fields in the table I don’t know it’s there. If I move backward out of the table, then I encounter it. I navigate back to the table to demonstrate its relationship.</figcaption> </figure> <h2 id="Wrap">Wrap-up</h2> <p> Unless you have user testing results saying otherwise, maybe put a check-all checkbox outside the table. </p> <p> Alternatives may give you a check-all field with a confusing and verbose name or a table with a complex or meaningless name. They may also result in smaller targets or wider columns. Granted, even the pattern I suggest can be a problem for your users, but some of that can be mitigated with training, documentation, context, and / or consistency. </p> <p> If you have other suggestions (ideally with examples and results of use), toss them into the comments. </p> <style> video::cue { background-color: #333333; color: #ffdd00; } </style>]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/07/check-uncheck-all-in-a-table.html/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item> <title>Where to Put Focus When Opening a Modal Dialog</title> <link>https://adrianroselli.com/2025/06/where-to-put-focus-when-opening-a-modal-dialog.html</link> <comments>https://adrianroselli.com/2025/06/where-to-put-focus-when-opening-a-modal-dialog.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Fri, 06 Jun 2025 17:17:25 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[html]]></category> <category><![CDATA[pattern]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=34833</guid> <description><![CDATA[TL;DR: blanket statements about where to put focus when opening a modal dialog are wrong, including this one. This post is meant to help you, an intelligent and thoughtful and empathetic reader, figure out where you should set focus. The scenarios are non-exhaustive. Messages I’m artificially breaking these into three…]]></description> <content:encoded><![CDATA[<p> <strong>TL;DR</strong>: blanket statements about where to put focus when opening a modal dialog are wrong, including this one. </p> <p> This post is meant to help you, an intelligent and thoughtful and empathetic reader, figure out where <em>you</em> should set focus. The scenarios are non-exhaustive. </p> <h2 id="Messages">Messages</h2> <p> I’m artificially breaking these into three kinds of messages. </p> <h3 id="MessageShort">Short, Informational Messages</h3> <p> For messages that are simple, brief, devoid of interactive elements, not full of complex structure, and likely confirming an assumption, then dropping focus on the close button is fine. You can even use <code>aria-describedby</code> to reference the message text (as in the demo). </p> <p> The benefit here is the user can quickly dismiss it and get on with their day. Accidentally dismissing it should be harmless for everyone. </p> <p> If that message is more complex or includes information the user may not expect, then focusing on the close button could be bad. Especially if the user cannot quickly or easily get back to the message (if at all). </p> <p> The risk here is the user can accidentally dismiss the message, pulling them from their task, adding stress, and possibly resulting in more exciting problems. </p> <h3 id="MessageLonger">Longer, Interactive Messages</h3> <p> For messages that are complex, longer, may have interactive elements, are riddled with complex structure, or may be surprising to the user, put the focus somewhere less risky. Perhaps the dialog itself or its (primary) heading. Complex text will not benefit from an <code>aria-describedby</code> reference (since it’s exposed as a flat string). </p> <p> A terms of service or other legal-ish document is a case where you don’t want to drop the user onto the “I agree” button. The risk is the user may accidentally trigger it when the modal first appears. If you are doing that intentionally, I want you to consider if you’re building dark patterns. </p> <p> It also adds interaction effort as a reader may need to scroll to the top to start reading. A screen reader user in particular has the extra hassle of <em>finding</em> the top (particularly with “novel” structures). </p> <h3 id="MessageAction">Action Required Messages</h3> <p> If you present users with messages where they have to make a choice, then focus should go on the thing that is least destructive. Essentially, the thing that, when activated, leaves the user no worse off. </p> <p> You don’t want to put a user in a situation where they accidentally agree to sell their kidney. Nor do you want the user to accidentally decline a free kidney. </p> <p> In many cases this would be the close button. Or, rather, the close button should <em>always</em> be the least destructive option. </p> <h2 id="Forms">Forms</h2> <p> I’m splitting this into two, which really isn’t enough for the nuance you need to consider. </p> <h3 id="BrieferForms">Briefer Forms</h3> <p> A brief form may be a login form. Users familiar with the site, who have intentionally chosen to log in, are probably fine with putting focus onto the first field. </p> <p> One fewer interaction step since they already conveyed their intent. Popping the mobile keyboard immediately can be helpful (which generally happens when focusing a text input). </p> <p> Note that I didn’t say the <em>first interactive control</em>. That could be the close button. I also didn’t say the <em>username</em> field. For all I know, your login requires the user to choose their region first. </p> <p> Also note that I qualified this with both familiarity and intent. Unexpected marketing modals that drop focus into a field asking for the user’s email address are an example of a user-hostile dark pattern. </p> <h3 id="LongerForms">Longer Forms</h3> <p> Longer forms require a bit more thought. And maybe a discussion of why you’re putting long forms in dialogs at all. </p> <p> In cases where there is a long form, where the user may not be familiar with it, or who may not expect they would get a form when triggering the thing that popped the modal, maybe don’t put focus on a field. </p> <p> Consider dropping focus onto the dialog or its primary heading. This can give the user a chance to orient. </p> <p> If you drop focus onto the first field, mobile users in particular can be at a disadvantage because their soft keyboard will pop open (also true for tablets and keyboard-less desktop-class computers). They have to back out of that context just to get a chance to orient themselves to what’s being asked. </p> <p> This can be a challenge for screen reader users as well, regardless of whether they use a desktop or mobile device. </p> <p> Note that I qualified this with both familiarity and expectation. If the form is part of a flow with which a user is familiar, it may make sense to drop focus onto that first field. Those users likely don’t need to orient and simply want to continue their task. </p> <h2 id="Questions">Questions</h2> <p> Possible questions to ask that can inform how you manage focus: </p> <ul> <li>Is the user a trained user?</li> <li>Is the user a regular visitor?</li> <li>What’s the purpose of the modal?</li> <li>What does the user think the purpose is?</li> <li>Can the user undo any actions taken in the modal?</li> <li>Do you track how quickly someone closes a modal?</li> <li>What happens for the user if the modal is dismissed?</li> <li>Can the user get back to the information in the modal?</li> <li>Does the information in the modal constitute a legal or financial agreement?</li> </ul> <h2 id="Examples">Examples</h2> <p> I’ve made some example modal dialogs for you to try (embedded below or as a <a href="https://cdpn.io/aardrian/debug/bNdWrjO">cruft-free version</a>). You can open each modal two ways — each with focus set on a different thing. I have split them into possibly good focus placement and probably less good focus placement. </p> <p> These won’t satisfy your use cases (because everyone’s use case is special and unique and wonderful). These won’t satisfy your users’ experiences and expectations (because there are lots). These will, however, function. Probably. </p> <p class="codepen" data-height="640" data-default-tab="result" data-slug-hash="bNdWrjO" data-pen-title="Untitled" data-user="aardrian" data-token="c5ed04f37752c5b02a80706f5c50bec4" style="height: 640px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;"> <span>See the Pen <a href="https://codepen.io/aardrian/pen/bNdWrjO/c5ed04f37752c5b02a80706f5c50bec4"> Untitled</a> by Adrian Roselli (<a href="https://codepen.io/aardrian">@aardrian</a>) on <a href="https://codepen.io">CodePen</a>.</span> </p> <script async src="https://public.codepenassets.com/embed/index.js"></script> <h2 id="Related">Related</h2> <ul> <li><a href="/2020/10/dialog-focus-in-screen-readers.html">Dialog Focus in Screen Readers</a>, me, 12 October 2020; just testing results, not guidance</li> <li><a href="https://www.scottohara.me/blog/2023/01/26/use-the-dialog-element.html">Use the dialog element (reasonably)</a>, Scott O’Hara, 26 January 2023</li> <li><a href="/2023/08/where-to-put-focus-when-deleting-a-thing.html">Where to Put Focus When Deleting a Thing</a>, me, 25 August 2023</li> <li><a href="https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/examples/dialog/#accessibilityfeatures">Modal Dialog Example, Accessibility Features</a>, ARIA Authoring Practices Guide (so don’t use it), last updated 22 October 2024; mostly to see its arguments for focus placement</li> </ul> ]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/06/where-to-put-focus-when-opening-a-modal-dialog.html/feed</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item> <title>My Request to Google on Accessibility</title> <link>https://adrianroselli.com/2025/05/my-request-to-google-on-accessibility.html</link> <comments>https://adrianroselli.com/2025/05/my-request-to-google-on-accessibility.html#comments</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Thu, 22 May 2025 12:31:40 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[rant]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[usability]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=34574</guid> <description><![CDATA[Hey, Alphabet or Google or Chrome or whomever in that illegal monopoly continues to release things to the web platform that are full of accessibility barriers, I have what I think is a straightforward request. My Request Please, if your team cannot explain how the thing satisfies all WCAG Success…]]></description> <content:encoded><![CDATA[<p> Hey, Alphabet or Google or Chrome or whomever in that <a href="https://apnews.com/article/google-search-antitrust-case-59114d8bf1dc4c8453c08acaa4051f14">illegal monopoly</a> continues to release things to the web platform that are full of accessibility barriers, I have what I think is a straightforward request. </p> <h2 id="Request">My Request</h2> <p> Please, if your team cannot explain how <em>the thing</em> satisfies all <a href="https://www.w3.org/WAI/WCAG22/quickref/">WCAG Success Criteria</a> at Level AA, then don’t release <em>the thing</em>. </p> <p> If <em>the thing</em> is a new feature for the web platform (HTML, CSS, ARIA, SVG, etc.), then don’t even propose <em>the thing</em> until you have its WCAG conformance sorted. </p> <p> Then understand WCAG is the bare minimum, is only table stakes, and does not in itself guarantee <em>the thing</em> is accessible. Which means be prepared for <em>the thing</em> to still contain barriers that must be addressed before it goes any further. Which means you’ll <a href="/2024/08/things-to-do-before-asking-is-this-accessible.html">field some questions</a>. </p> <h2 id="Blowback">Blowback</h2> <p> I’ll run with two examples lead by Google in the web platform standards world, one older and one recent. </p> <h3 id="Toasts">1. Toasts</h3> <p> In 2019 I got involved in a Google-lead effort to create a toast element (sorta). <a href="https://github.com/jackbsteinberg/std-toast/issues/29">I gave ARIA feedback</a>, <a href="https://github.com/jackbsteinberg/std-toast/pull/32">helped make the GitHub content more accessible</a>, and <a href="https://github.com/jackbsteinberg/std-toast/issues/25">challenged some assumptions</a> (primarily what they called research). I <a href="https://github.com/jackbsteinberg/std-toast/issues/33">commented on</a> only <a href="https://github.com/jackbsteinberg/std-toast/issues/18">three</a> other <a href="https://github.com/jackbsteinberg/std-toast/issues/26">issues</a>. Those links cover the totality of my involvement. </p> <p> The toast effort died on the vine, I believe because it wasn’t well-scoped. And <a href="https://web.archive.org/web/20191217085443/https://twitter.com/domenic/status/1206750011322753025">I got blamed for it</a> (for being negative, disingenuous) and <a href="https://web.archive.org/web/20191217080400/https://twitter.com/slightlylate/status/1206780358617812992">apparently I also never apologized</a>. I wrote about this experience in more detail at <cite><a href="/2019/06/scraping-burned-toast.html">Scraping Burned Toast</a></cite>. </p> <h3 id="Carousels">2. Carousels</h3> <p> In late 2024, doing an end-run around the HTML spec and the concept of separation of concerns, Google drove carousels in the CSS Working Group. Then accessibility experts <a href="https://github.com/w3c/csswg-drafts/issues/10711#issuecomment-2359573310">got wind of it</a> and <a href="https://github.com/whatwg/html/pull/10956#issuecomment-2734778015">weighed in</a> (<a href="https://github.com/w3c/csswg-drafts/issues/10711#issuecomment-2770346540">more than</a> just <a href="https://github.com/w3c/csswg-drafts/issues/10711#issuecomment-2777119047">the once</a>), only to <a href="https://github.com/w3c/csswg-drafts/issues/10711#issuecomment-2765041902">get no traction</a>. </p> <p> Instead, Chrome did a <a href="https://developer.chrome.com/blog/carousels-with-css">dog-n-pony show</a> (with the <a href="https://developer.chrome.com/blog/carousels-with-css#:~:text=It%27d%20be%20very%20difficult%20to%20make%20a%20more%20accessible%20carousel%20than%20this.">requisite accessibility lies</a>). <a href="https://shoptalkshow.com/659/">Prominent voices promoted it</a>, some <a href="https://piccalil.li/links/carousels-with-css/">wrongly cooed over its accessibility</a>, but only one person took the time to actually <em>try it</em> — <a href="https://www.sarasoueidan.com/blog/css-carousels-accessibility/">and found it wanting</a>. She got sideways criticism for a 6,000-word post and the implication that accessibility experts didn’t do enough. <a href="https://hidde.blog/interactions-about-accessibility/">Who could have predicted</a>? </p> <!-- https://toot.cafe/@aardrian/114202156959077277 --> <h3 id="Bookends">Book-ends</h3> <p> Both of these book-end five years of a consistent experience for me (15 years based on posts linked below). Accessibility experts and disabled users (and the wonderful overlap of both groups) are not consulted at the start. Not in the scoping, not in the research, and not even in traditional shift-left-but-not-left-enough design phase. </p> <p> Instead, we stumble across these things. We raise alarms or concerns or questions and are seen as buzzkills. Fun police. Hindrance to progress. We flag barriers and are ignored or dismissed <a href="/2023/09/the-children-are-driving-the-bus.html">or even harassed</a>. And when the project inevitably catches fire, <a href="/2022/11/your-accessibility-claims-are-wrong-unless.html">despite claims accessibility is baked in</a> or the assertion <a href="/2022/11/accessibility-gaps-in-mvps.html">it’s only a beta</a>, we are told we didn’t weigh in early enough. We didn’t donate enough time. We didn’t participate in whatever opaque process in our copious free time. </p> <p> Of course, ableism makes it easy to forget that accessibility experts and disabled users are already under a constant DDoS attack for our attention, never mind dealing with a <a href="https://www.justice.gov/ag/media/1388501/dl?inlinei">US federal government that wants us to go away</a>. I know I said <a href="/2025/05/do-not-publish-your-designs-on-the-web-with-figma-sites.html#Wrap">I’m good at being a party-pooper</a>, but I don’t want to be. It’s draining. And frankly, Google, <em>it’s your fault</em> (though not yours alone). </p> <h2 id="WTF">A Brief and Select History of WTF</h2> <figure class="right"> <img loading="lazy" src="/wp-content/uploads/2025/05/Lucy-football-and-Charlie-Brown.jpg" alt="Lucy, labeled “megacorp,” teeing up a football, and shouting at Charlie Brown, who is labeled “accessibility practitioner,” his back turned, arms folded, and grumpy expression." width="480" height="360"> <figcaption>Image idea courtesy Eric Bailey.</figcaption> </figure> <ul> <li>Google Material Design told us form fields were better without boxes, <a href="https://medium.com/google-design/the-evolution-of-material-designs-text-fields-603688b3fe03">until they tested it</a> (even though <a href="https://adamsilver.io/blog/material-design-text-fields-are-badly-designed/">we all knew that was crap</a>).</li> <li>Google sometimes deploys browser updates that can <a href="/2020/03/chrome-80-81-bug-accessible-name-calculation.html">break the web for screen reader users</a>, and then lets it sit for for two releases.</li> <li>Google shared lessons learned from its commendable Disability Support team in the form of an <a href="https://web.archive.org/web/20200625004336/https://twitter.com/aardrian/status/1275952490916261889">inaccessible PDF document it wrongly insisted it could not make accessible</a>.</li> <li>YouTube removed the <a href="https://support.google.com/youtube/answer/6052538?hl=en-GB">ability for community members to contribute</a> subtitles or captions to videos.</li> <li>Google was content to let <a href="https://www.igalia.com/open-prioritization/">crowd-funding efforts</a> drive the addition of CSS feature support (<a href="https://opencollective.com/css-selector-list-for-pseudo-in-chrome"><code>:not()</code></a>) to its browser.</li> <li>Google <a href="https://web.archive.org/web/20211122130508/https://twitter.com/Google/status/1461380125098917900">twaught a silent text-heavy video</a> to promote its event for International Day of Persons with Disabilities, which the Google Accessibility account retwaught. When I <a href="https://web.archive.org/web/20211121134353/https://twitter.com/aardrian/status/1462416436979277829">pointed this out</a> and showed <a href="https://web.archive.org/web/20211122181404/https://twitter.com/aardrian/status/1462774520499118084">how to do it accessibly</a>, Google memory-holed its tweet.</li> <li>Google launched <a href="https://designcember.com/">Designcember</a> to promote its work on container queries and other technologies, but failed to support its own developers to ensure the site is accessible. <a href="https://web.archive.org/web/20211206154739/https://twitter.com/aardrian/status/1467883389768327184">Which I called out</a>. And for which my free labor was requested to QA its fixes, but I did <a href="/2022/01/more-google-and-afterthought-accessibility.html">turn it into a teachable moment</a>.</li> <li>Google Chrome’s developer outreach site, Web.dev, shared how to <a href="https://web.dev/building-a-tooltip-component/">build an <q>accessible <code><tool-tip></code> custom element</q></a>. If you followed its advice you were <a href="https://github.com/GoogleChrome/web.dev/issues/8959">guaranteed a SC 1.4.13 WCAG violation</a>. Never mind translation issues, misunderstanding of how <code><abbr></code> is exposed, a conflation of accessible name and description, and an enforced inability to select text. 2½ years on, other than <a href="https://issuetracker.google.com/issues/298296173">moving my bug report to a new tracker</a>, neither Google overall nor the author has made any effort to fix it.</li> <!-- https://web.archive.org/web/20221025162815/https://web.dev/building-a-tooltip-component/ --> <li>Google Chrome’s Web.dev <a href="https://github.com/GoogleChrome/web.dev/issues/8959#issuecomment-1700435242">moved off GitHub</a> (again) in favor of its own IssueTracker with <a href="https://toot.cafe/@aardrian/110996643275929145">accessibility issues</a>, limiting participation.</li> <li>Google has updated Material Design to “Expressive” and, in a <a href="https://blog.damato.design/posts/beer-goggles/">repeat of its tendency for confirmation bias</a> with Material UI efforts, seems to again engage in lackluster research.</li> <li>When Android 11 dropped the ability to screen record audio from TalkBack, <a href="https://web.archive.org/web/20200924145746/twitter.com/aardrian/status/1308974066179637248">I flagged it</a> and reported it in some intake form (I failed to screen shot it). It took a year, but the <a href="https://web.archive.org/web/20220401040218/twitter.com/aardrian/status/1426895849649487873">Google Disability Support acknowledged it</a>, closed the case, seemed to <a href="https://web.archive.org/web/20220401234723/https://twitter.com/googleaccess/status/1510041094708293635#m">forget about it a year later</a>, and did no more. It’s such a hassle, <a href="https://www.youtube.com/watch?v=NvnjA4HkR4I">Pat made a video showing a workaround</a>.</li> <li>Using Open-UI as a vehicle for “spitballing,” Google suggests using menus for navigation, for which I am thankfully able to <a href="https://github.com/openui/open-ui/issues/1193#issuecomment-2811377928">jump in and throw warnings</a>, including references to material that Google should have uncovered in the barest due diligence. <a href="https://toot.cafe/@aardrian/114353369198412851">I grump about this</a> on the socials.</li> </ul> <h2 id="Wrap">Wrap-up</h2> <p> Do you work for the company that formerly claimed it wouldn’t do evil? It sucks if you take this as a personal attack. It’s not. Your employer is simply doing a terrible job of supporting <em>you</em> in your efforts to support disabled users. If you want to be angry or frustrated, be angry or frustrated at the multi-billion dollar company that keeps throwing up barriers instead of spending a negligible amount of money to get experts and users involved. </p> <p> It’s a paycheck that puts food on the table. I get that. Take its money and do what you can. </p> <p> If you work for not-Google, like, say, Apple or Microsoft or Meta or Adobe or whatever, don’t be smug. If I had the energy I could take all of your employers to task for similar, egregious violations of user trust. </p> <p> I did this rant in only one thousand and seven words! </p> <h2 id="Related">Related</h2> <figure class="right half"> <img loading="lazy" src="/wp-content/uploads/2025/05/brain-on-drugs_4up.jpg" alt="A man holding an egg labeled “accessibility;” pointing at a skillet labeled “megacorps;” the fried egg in the pan labeled “accessibility by megacorps;” a woman swinging the skillet through a rack of dishes where the broken dishes are labeled “accessibility practitioners.”" width="1200" height="800"> <figcaption>Stills from the original “This is your brain on drugs” 1980s <a href="https://www.youtube.com/watch?v=o5wwECXTJbg">anti-drug commercial</a> with the final still from the <a href="https://www.youtube.com/watch?v=dAHoxaphbEs">Rachael Leigh Cook version</a>.</figcaption> </figure> <p> More of where I’ve tracked when Google has broken, dismissed, or forgotten accessibility and users. </p> <ul> <li><a href="/2010/11/googles-web-book-may-not-help-those-who.html">Google’s Web Book May Not Help Those Who Need It Most</a>, November 2010</li> <li><a href="/2012/11/new-main-element-approved-then-blocked.html">New Main Element Approved, then Blocked</a>, November 2012</li> <li><a href="/2013/01/google-maps-misbehaving-with-ua-sniffing.html">Google Maps: Misbehaving with UA Sniffing</a>, January 2013</li> <li><a href="/2014/03/i-dont-care-what-google-did-just-keep.html">I Don’t Care What Google Did, Just Keep Underlining Links</a>, March 2014</li> <li><a href="/2015/09/use-only-one-main-on-a-page.html">Use Only One <main> on a Page</a>, September 2015</li> <li><a href="/2015/10/googles-amp-html.html">Google’s AMP HTML</a>, October 2015</li> <li><a href="/2018/02/tables-css-display-properties-and-aria.html">Tables, CSS Display Properties, and ARIA</a>, February 2018, and not restricted to Google</li> <li><a href="/2019/06/scraping-burned-toast.html">Scraping Burned Toast</a>, June 2019</li> <li><a href="/2020/03/i-dont-care-what-google-or-apple-or-whomever-did.html">I Don’t Care What Google or Apple or Whoever Did</a>, March 2020, and not restricted to Google</li> <li><a href="/2020/11/dont-rely-on-youtube-transcripts.html">Don’t Rely on YouTube Transcripts</a>, November 2020</li> <li><a href="/2022/01/more-google-and-afterthought-accessibility.html">More Google and Afterthought Accessibility</a>, January 2022</li> <li><a href="/2022/07/its-mid-2022-and-browsers-mostly-safari-still-break-accessibility-via-display-properties.html">It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility via Display Properties</a>, July 2022, and not restricted to Google</li> <li><a href="/2023/01/comparing-manual-and-free-automated-wcag-reviews.html">Comparing Manual and Free Automated WCAG Reviews</a>, January 2023</li> <li><a href="/2023/12/baseline-does-not-really-cover-baseline-support.html">Baseline Does Not Really Cover Baseline Support</a>, December 2023</li> <li><a href="/2024/07/dont-use-webdev-for-accessibility-info.html">Don’t Use Web•dev for Accessibility Info</a>, July 2024</li> </ul> <h2 id="Update01">Update: 28 May 2025</h2> <p> Eric Bailey made a <a href="https://bsky.app/profile/ericwbailey.website/post/3lprn3p6tnc24">point about conference-driven development</a>, essentially rushing broken or half-baked features out the door so the megacorp would have something to reveal on stage. </p> <p> <a href="https://toot.cafe/@aardrian/114559031374034000">I think he was right</a>. On 21 May, <a href="https://www.youtube.com/live/XASRYAR7S5w?t=3994">CSS carousels featured at Google I/O</a>. The comparison example was Elementor, which ignores the more compelling question (to me) of why Elementor needed 165kb of JavaScript for a carousel. It also ignores the very real risk of WCAG violations and the larger question of why Elementor would make such profound claims when only one browser supports the feature. </p> <p> Also consider the <a href="https://www.youtube.com/live/XASRYAR7S5w?t=4014">follow-on comment from the Google presenter</a>, that the CSSWG is <q>already looking ahead to exploring things like bringing your own custom elements for buttons and markers and native cyclical scrolling.</q> The CSSWG may be the vehicle where Google continues to exert its dominance over web standards, separation of concerns and accessibility be damned. </p> <h2 id="Update02">Update: 6 June 2025</h2> <p> David Bushell highlights something with which I agree and which I don’t think gets enough attention — <cite><a href="https://dbushell.com/2025/05/23/pseudo-elements/">::pseudo-elements?</a></cite>. He points out it’s a <q>clear violation of separation of concerns</q> (which should sound familiar) and reminds of localization risks (something I would think a Working Group would consider). Google’s rush to market has left many obvious gaps, and I rather hope Google stops doing that seemingly every quarter / conference cycle. </p> <h2 id="Update03">Update:11 August 2025</h2> <p> I added the Google-lead Open-UI proposal <a href="https://github.com/openui/open-ui/issues/1193">#1193 [menu] Navigation vs menu items use case</a> item above. </p>]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/05/my-request-to-google-on-accessibility.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item> <title>Talkin’ Tables @ AccessU</title> <link>https://adrianroselli.com/2025/05/talkin-tables-accessu.html</link> <comments>https://adrianroselli.com/2025/05/talkin-tables-accessu.html#respond</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Wed, 14 May 2025 19:00:58 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[html]]></category> <category><![CDATA[slides]]></category> <category><![CDATA[tables]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[UX]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=34221</guid> <description><![CDATA[Abstract for my session Talkin’ Tables: This session will walk through the basics of how to construct an HTML table. More than basic structure, it will talk about support and how it is exposed to screen readers in particular. With that foundation it will walk through patterns for responsive tables,…]]></description> <content:encoded><![CDATA[<p> Abstract for my session <a href="https://knowbility.org/programs/john-slatin-accessu-2025/talkin-tables">Talkin’ Tables</a>: </p> <blockquote> <p> This session will walk through the basics of how to construct an HTML table. More than basic structure, it will talk about support and how it is exposed to screen readers in particular. With that foundation it will walk through patterns for responsive tables, fixed column and/or row headers, sortable tables, tables with expandable content, labeling controls in a table, and selecting rows. Each of these will take into account WCAG conformance, actual support, and the necessary HTML, ARIA, CSS, and JavaScript to pull it off. Even if you cannot apply these to your table patterns, they should give you insights into how to consider the code in your own tables. We probably won’t talk about grid roles. At least not much. </p> </blockquote> <p> Ideally you’re here because you followed the link in the slides. Otherwise this post might not make a lot of sense. </p> <p> As of 18 May I have embedded a <a href="/wp-content/uploads/2025/05/Talkin-Tables_AccessU_web.pdf">3MB tagged PDF of the slides</a>. The export from PowerPoint is not great. The videos are not retained. The PDF tags are verbose and complex. It does not pass PDF/UA. So reader beware. </p> <iframe title="Talkin’ Tables slides for AccessU 2025 by Adrian Roselli" width="100%" src="" frameborder="0" allowfullscreen loading="lazy" srcdoc="<style>*{padding:0;margin:0;overflow:hidden}body{font-family:'Segoe UI',-apple-system, BlinkMacSystemFont,Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;line-height:1.4;background:transparent url('https://adrianroselli.com/wp-content/uploads/2025/05/Talkin-Tables_AccessU_poster.jpg') no-repeat center;background-size:cover}p{display:grid;grid-template-columns:repeat(auto-fit, 60vw);grid-template-rows:repeat(auto-fit,100vh);justify-content:center}a{align-self:center;background:rgba(0,0,0,0.75);font-weight:bold;color:#fff;font-size:7.5vw;text-align:center;padding:15vh 10vw;outline-offset:0;outline-color:#fff;border-radius:1em;}a:focus,a:hover{background-color:#000;outline:.1em solid;outline-offset:.1em;outline-color:#ff0;transition:all .15s ease-out;box-shadow:0 0 20vw #000;}</style><p><a href='https://adrianroselli.com/wp-content/uploads/2025/05/Talkin-Tables_AccessU_web.pdf'>Display PDF</a></p>"></iframe> <style> iframe { width: 100%; max-height: 90vh; height: auto; aspect-ratio: 16/9; } main a[href$=".pdf"]::after { content: ""; } </style> <p> The following informed the talk either directly or because of a related concept. Probably ignore some of the older ones. They don’t get many updates and may be based on old technologies or techniques (or both). </p> <ul> <li><a href="/2023/11/dont-turn-a-table-into-an-aria-grid-just-for-a-clickable-row.html">Don’t Turn a Table into an ARIA Grid Just for a Clickable Row</a>, November 2023</li> <li><a href="/2023/02/avoid-spanning-table-headers.html">Avoid Spanning Table Headers</a>, February 2023</li> <li><a href="/2022/08/brief-note-on-calendar-tables.html">Brief Note on Calendar Tables</a>, August 2022</li> <li><a href="/2022/07/its-mid-2022-and-browsers-mostly-safari-still-break-accessibility-via-display-properties.html">It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility via Display Properties</a>, July 2022</li> <li><a href="/2022/02/column-headers-and-browser-support.html">Column Headers and Browser Support</a>, February 2022</li> <li><a href="/2022/01/accessible-cart-tables.html">Accessible Cart Tables?</a>, January 2022</li> <li><a href="/2021/07/scroll-snap-challenges.html">Scroll Snap Challenges</a>, July 2021</li> <li><a href="/2021/06/multi-column-sortable-table-experiment.html">Multi-Column Sortable Table Experiment</a>, June 2021</li> <li><a href="/2021/04/sortable-table-columns.html">Sortable Table Columns</a>, April 2021</li> <li><a href="/2020/11/under-engineered-responsive-tables.html">Under-Engineered Responsive Tables</a>, November 2020</li> <li><a href="/2020/09/sortable-table-column-mad-libs.html">Sortable Table Column Mad Libs</a>, September 2020</li> <li><a href="/2020/02/block-links-cards-clickable-regions-etc.html">Block Links, Cards, Clickable Regions, Rows, Etc.</a>, February 2020</li> <li><a href="/2020/01/fixed-table-headers.html">Fixed Table Headers</a>, January 2020</li> <li><a href="/2019/09/table-with-expando-rows.html">Table with Expando Rows</a>, September 2019</li> <li><a href="/2019/05/uniquely-labeling-fields-in-a-table.html">Uniquely Labeling Fields in a Table</a>, May 2019</li> <li><a href="/2018/05/functions-to-add-aria-to-tables-and-lists.html">Functions to Add ARIA to Tables and Lists</a>, May 2018</li> <li><a href="/2018/05/display-contents-is-not-a-css-reset.html">Display: Contents Is Not a CSS Reset</a>, May 2018</li> <li><a href="/2018/04/tables-json-css-aria-rwd-tlas.html">Tables, JSON, CSS, ARIA, RWD, TLAs…</a>, April 2018</li> <li><a href="/2018/02/tables-css-display-properties-and-aria.html">Tables, CSS Display Properties, and ARIA</a>, February 2018</li> <li><a href="/2017/11/a-responsive-accessible-table.html">A Responsive Accessible Table</a>, November 2017</li> <li><a href="/2017/11/hey-its-still-ok-to-use-tables.html">Hey, It’s Still OK to Use Tables</a>, November 2017</li> <li><a href="/2016/02/keyboard-and-overflow.html">Keyboard and Overflow</a>, February 2016</li> <li><a href="/2012/07/its-ok-to-use-tables.html">It’s OK to Use Tables</a>, July 2012</li> </ul> <p> These are the three ARIA issues we discussed: </p> <ul> <li><a href="https://github.com/w3c/aria/issues/2148">#2148: Should form field in cells have name computed from table/grid headers (Was: Data grid example, form field missing accessible name)</a></li> <li><a href="https://github.com/w3c/aria/issues/2402">#2402: Should the ‘row’ role really be necessary for parents of ‘gridcell’ and other cell role elements?</a></li> <li><a href="https://github.com/w3c/aria/issues/283">#283: aria-sort should be allowed on multiple columns</a></li> </ul> ]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/05/talkin-tables-accessu.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item> <title>Selfish Accessibility 2025 @ AccessU</title> <link>https://adrianroselli.com/2025/05/selfish-accessibility-2025-accessu.html</link> <comments>https://adrianroselli.com/2025/05/selfish-accessibility-2025-accessu.html#respond</comments> <dc:creator><![CDATA[Adrian Roselli]]></dc:creator> <pubDate>Tue, 13 May 2025 19:00:30 +0000</pubDate> <category><![CDATA[Web]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[slides]]></category> <category><![CDATA[speaking]]></category> <guid isPermaLink="false">https://adrianroselli.com/?p=34431</guid> <description><![CDATA[Abstract for my talk Selfish Accessibility: 2025: More than 10 years ago I presented my talk “Selfish Accessibility,” a tongue-in-cheek discussion of how to quietly approach accessibility efforts by appealing to the bosses, clients, and vendors who otherwise might not care about disabled people, the challenges they face, or the…]]></description> <content:encoded><![CDATA[<p> Abstract for my talk <a href="https://knowbility.org/programs/john-slatin-accessu-2025/selfish-accessibility-2025">Selfish Accessibility: 2025</a>: </p> <blockquote> <p> More than 10 years ago I presented my talk “Selfish Accessibility,” a tongue-in-cheek discussion of how to quietly approach accessibility efforts by appealing to the bosses, clients, and vendors who otherwise might not care about disabled people, the challenges they face, or the work to include them. With the new political climate in the US, I have updated the talk to build on its core ideas while framing them in the new reality of accessibility programs getting shuttered or disbanded across the country. As a group, we will come up with personas, use cases, and arguments that we can use across to promote our efforts without triggering the kinds of reactions or retribution we fear will become the norm. </p> </blockquote> <p> Ideally you’re here because you followed the link in the slides. Otherwise this post might not make a lot of sense. </p> <p> As of 18 May I have embedded a <a href="/wp-content/uploads/2025/05/Selfish-Accessibility-2025_AccessU_web.pdf">2MB tagged PDF of the slides</a>. The export from PowerPoint is not great. The videos are not retained. The PDF tags are verbose and complex. It does not pass PDF/UA. So reader beware. </p> <iframe title="Selfish Accessibility 2025 slides for AccessU 2025 by Adrian Roselli" width="100%" src="" frameborder="0" allowfullscreen loading="lazy" srcdoc="<style>*{padding:0;margin:0;overflow:hidden}body{font-family:'Segoe UI',-apple-system, BlinkMacSystemFont,Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;line-height:1.4;background:transparent url('https://adrianroselli.com/wp-content/uploads/2025/05/Selfish-Accessibility-2025-AccessU_poster.jpg') no-repeat center;background-size:cover}p{display:grid;grid-template-columns:repeat(auto-fit, 60vw);grid-template-rows:repeat(auto-fit,100vh);justify-content:center}a{align-self:center;background:rgba(0,0,0,0.75);font-weight:bold;color:#fff;font-size:7.5vw;text-align:center;padding:15vh 10vw;outline-offset:0;outline-color:#fff;border-radius:1em;}a:focus,a:hover{background-color:#000;outline:.1em solid;outline-offset:.1em;outline-color:#ff0;transition:all .15s ease-out;box-shadow:0 0 20vw #000;}</style><p><a href='https://adrianroselli.com/wp-content/uploads/2025/05/Selfish-Accessibility-2025_AccessU_web.pdf'>Display PDF</a></p>"></iframe> <style> iframe { width: 100%; max-height: 90vh; height: auto; aspect-ratio: 16/9; } main a[href$=".pdf"]::after { content: ""; } </style> <h2 id="Business">Selfish Business Case</h2> <p> Links and resources I referenced in the first part of the presentation. </p> <ul> <li><a href="https://karlgroves.com/chasing-the-web-accessibility-business-case-part-1/">Chasing the Web Accessibility Business Case – Part 1</a>, Karl Groves, 13 April 2011</li> <li><a href="https://testparty.ai/blog/the-true-cost-of-inaccessibility-and-why-metrics-matter-more-than-ever">The True Cost of Inaccessibility and Why Metrics Matter More Than Ever</a>, Jaunita Flessas and Michael Bervell, 23 April 2025</li> <li><a href="https://adrianroselli.com/2019/09/an-html-element-potentially-worth-18m-to-indiegogo-campaigns.html">An HTML Element Potentially Worth $18M to Indiegogo Campaigns</a>, Adrian Roselli, 24 September 2019</li> <li><a href="https://www.youtube.com/watch?v=ZsFIvULxkHI">Figma Sites is worse than you might have thought</a>, Kevin Powell, 9 May 2025</li> <li><a href="https://adrianroselli.com/2025/05/do-not-publish-your-designs-on-the-web-with-figma-sites.html">Do Not Publish Your Designs on the Web with Figma Sites…</a>, Adrian Roselli, 7 May 2025</li> <li><a href="https://toot.cafe/@aardrian/114478224953146500">That is one banger of a drop-caps technique from the folks at Figma!</a>, Adrian Roselli, 9 May 2025</li> <li><a href="https://www.justice.gov/ag/media/1388501/dl?inlinei">Ending Illegal DEI and DEIA Discrimination and Preferences</a>, PDF, US Attorney General Pam Bondi, 5 February 2025</li> <li><a href="https://www.nyc.gov/site/mopd/initiatives/digital-accessibility.page">Accessibility Commitment</a>, New York City Mayor’s Office for People with Disabilities</li> <li><a href="https://comptroller.nyc.gov/reports/five-year-accessibility-plan-benchmark/">Five-Year Accessibility Plan Benchmark</a>, New York City Comptroller Brad Lander, 5 May 2025</li> <li><a href="https://www.nysenate.gov/legislation/bills/2023/S3114/amendment/A">Senate Bill S3114A</a></li> <li><a href="https://convergeaccessibility.com/2025/05/05/legal-update-april-2025/">Legal Update: April 2025</a>, Ken Nakata, 5 May 2025</li> <li><a href="https://www.deque.com/european-accessibility-act-eaa-compliance/country-compliance-data/">The European Accessibility Act (EAA): Country-by-country compliance data</a>, Deque Systems, Inc.</li> <li><a href="https://www.lflegal.com/global-law-and-policy/">Global Law and Policy</a>, Lainey Feingold</li> </ul> <h2 id="Persona">Selfish Persona Case</h2> <p> Links and resources from the second part of the presentation. </p> <ul> <li><a href="https://inclusive.microsoft.design/#InclusiveDesignToolsActivities">Inclusive Design tools and activities</a>, Microsoft</li> <li><a href="https://uxmag.com/articles/book-excerpt-a-web-for-everyone">Book Excerpt: A Web for Everyone</a>, Sarah Horton, Whitney Quesenbery, 7 April 2014</li> <li><a href="https://rosenfeldmedia.com/books/a-web-for-everyone/">A Web for Everyone: Designing Accessible User Experiences</a>, Sarah Horton & Whitney Quesenbery, January 2014</li> </ul> <h2 id="You">Selfish You Case</h2> <p> The briefest part of my presentation included a reference to Lainey Feingold’s CSUNATC 2025 talk. </p> <ul> <li><a href="https://youtu.be/fQyWH3DiD9s">CSUNATC 2025 Featured Presentation: Digital Accessibility Legal Update: US</a>, Lainey Feingold, 14 March 2025</li> </ul>]]></content:encoded> <wfw:commentRss>https://adrianroselli.com/2025/05/selfish-accessibility-2025-accessu.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>