avatarAccessibility Jillie

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

1509

Abstract

l these tools you…</h3></div> <div><p>developer.semrush.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*vdk__vtJzzTiFAkX)"></div> </div> </div> </a> </div><div id="7edb" class="link-block"> <a href="https://polaris.shopify.com/components/feedback-indicators/skeleton-page"> <div> <div> <h2>Skeleton page</h2> <div><h3>Skeleton page is used with other skeleton loading components to provide a low fidelity representation of the user…</h3></div> <div><p>polaris.shopify.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*G8l1SPUy_zqgpkSC)"></div> </div> </div> </a> </div><div id="cdfc" class="link-block"> <a href="https://adrianroselli.com/2020/11/more-accessible-skeletons.html"> <div> <div> <h2>More Accessible Skeletons</h2> <div><h3>I had this post queued up for Halloween because, come on, skeletons, and then life did its thing and now it is a …</h3></div> <div><p>adrianroselli.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit

Options

:320/0*0Do6dq0iMTrmVLV1)"></div> </div> </div> </a> </div><p id="4862">I narrowed the information down to four key notes for my team of engineers to consider:</p><ol><li>Since the skeleton is a visual element, ensure that image replacements are marked as decorative (using aria-hidden=“true”) and hidden from screen reader users.</li><li>The skeleton is not focusable via keyboard.</li><li>Avoid using heading markup for skeleton “bones” that replace headings.</li><li>Set aria-busy=“true” until loading is complete. Then set to aria-busy=“false.”</li><li>Avoid content that flashes more than three times per second.</li></ol><p id="6670">There are additional points that I weighed but ultimately omitted. Since skeleton loaders typically animate (creating a shimmery gradient-y wave effect) to indicate that there’s activity behind the scenes, what does that mean for those who get distracted by animations (or worse, have animation-induced epilepsy)? I had my designer make the color contrast between the gray skeleton “bone” and the wave color that courses through each bone <i>very</i> low to minimize distraction. And it’s not like anyone who can’t pick up on that subtle animation is really missing any crucial information, so I figured it would work just fine for those with low vision, those with poorly calibrated monitors, etc.</p><p id="7933">I will update this post if I hear any updates from my engineering team upon implementation.</p></article></body>

Day 1: Skeleton Loaders + Accessibility

Example of a loading screen featuring skeleton bones to replace content

This week, I was asked to provide accessibility acceptance criteria for “skeleton loaders.” Basically, instead of making you wait and stare at a blank screen, a skeleton loader shows you a rough outline or a basic structure of where the pictures and text on a site will populate. It’s like a preview that helps you understand that things are happening behind the scenes and gives you a sense of what’s about to appear. Skeleton loaders should only be used for content that can load in under 10 seconds (if it’s more than 10 seconds, use a progress bar instead). Personally, I would rather have content load faster than have to endure an abstracted screen akin to a brief shiny gray purgatory, but nobody asked for my opinion.

Here are some references I used when looking into skeleton loaders and their accessibility considerations:

I narrowed the information down to four key notes for my team of engineers to consider:

  1. Since the skeleton is a visual element, ensure that image replacements are marked as decorative (using aria-hidden=“true”) and hidden from screen reader users.
  2. The skeleton is not focusable via keyboard.
  3. Avoid using heading markup for skeleton “bones” that replace headings.
  4. Set aria-busy=“true” until loading is complete. Then set to aria-busy=“false.”
  5. Avoid content that flashes more than three times per second.

There are additional points that I weighed but ultimately omitted. Since skeleton loaders typically animate (creating a shimmery gradient-y wave effect) to indicate that there’s activity behind the scenes, what does that mean for those who get distracted by animations (or worse, have animation-induced epilepsy)? I had my designer make the color contrast between the gray skeleton “bone” and the wave color that courses through each bone very low to minimize distraction. And it’s not like anyone who can’t pick up on that subtle animation is really missing any crucial information, so I figured it would work just fine for those with low vision, those with poorly calibrated monitors, etc.

I will update this post if I hear any updates from my engineering team upon implementation.

Accessibility
A11y
UX
Skeleton Loaders
Recommended from ReadMedium