DubBlog

Label it Accessible - Part Two

In March, I wrote a blog post focused on the importance of labels, specifically for familiar web components such as documents, icons, image maps, and form controls. These elements are often top-of-mind when creating accessible web content. 

Today, we'll focus on four additional webpage elements that may not always receive the accessibility attention they require.

Note: The code segments presented here are for illustrative purposes and not for independent execution outside a valid HTML context.

**Dialogs
**Dialog boxes are typically identified with ARIA role="dialog" or role="alert dialog." Use aria-label or aria-labelledby to clearly label dialog boxes, such as confirmation dialogs, so assistive technologies, like screen readers, understand the purpose and behavior of these elements.

"Specifying descriptive elements enables screen readers to announce the description along with the dialog title and initially focused element when the dialog opens…" ~ Dialog (Modal) Pattern, W3C

<div

  role="dialog"

  aria-labelledby="confirmationDialogTitle"

  aria-describedby="confirmationDialogDesc"

  data-modal="confirmationDialog"

  <h2 id="confirmationDialogTitle">Confirm Action</h2>

  <p id="confirmationDialogDesc">Are you sure you want to proceed with this action?</p>

    <button id="confirmButton">Yes</button>

    <button id="cancelButton">No</button>

</div>

**Fieldset elements
**Always include a element within a

to clearly describe grouped form elements. Doing so helps users of assistive technology understand the purpose of the group.

<form>

  <fieldset>

    <legend>Choose your favorite monster</legend>

    <input type="radio" id="kraken" name="monster" value="K" />

    <label for="kraken">Kraken</label><br />

    <input type="radio" id="sasquatch" name="monster" value="S" />

    <label for="sasquatch">Sasquatch</label><br />

    <input type="radio" id="mothman" name="monster" value="M" />

    <label for="mothman">Mothman</label>

  </fieldset>

</form>

Embedded content
To improve accessibility, provide a descriptive attribute for all <embed> and <object> elements. This allows the element descriptions to be programmatically determined by assistive technologies.</p> <p><code><h2>Embedded SVG Image</h2></code></p> <p><code><embed src="logo.svg" type="image/svg+xml" width="200" height="100" title="Company Logo - Vector Graphic”></code></p> <p><code><p>This is an embedded SVG image of the company logo.</p></code></p> <p><strong>Figures with captions</strong><br> Even though it is optional, if you use a <figure> element, always include a <figcaption> attribute for optimal accessibility. The <figcaption> should describe the figure's purpose or context within the document, while the <alt> attribute describes the individual image.</p> <p><code><figure></code></p> <p>  <code><img src="brown-dog.jpg" alt="Brown dog with a red color." /></code></p> <p>  <code><figcaption> Meet Charlie, the mascot for The Barking Dogs baseball team.</figcaption></code></p> <p><code></figure></code></p> <p>Like well-placed signposts, clear and descriptive labels transform a potentially confusing website into an open, navigable, and intuitive experience for all users, including those with disabilities. </p> <h2>Resources</h2> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/Guides/Understanding_WCAG/Text_labels_and_names" title="This link leaves the DubBlog website.">Text Labels and Names</a></li> <li><a href="https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html" title="This link leaves the DubBlog website.">Understanding SC 3.3.2: Labels or Instructions (Level A)</a></li> </ul> <p>A human author creates the DubBlog posts. The AI tool Gemini is sometimes used to brainstorm subject ideas, generate blog post outlines, and rephrase certain portions of the content. Our marketing team carefully reviews all final drafts for accuracy and authenticity. The opinions and perspectives expressed remain the sole responsibility of the human author.</p> </div> <aside class="author-card" aria-label="About the author"><img src="/images/site/maggie-vaughan.png" alt="" width="80" height="80"> <div> <p class="author-card__name">Maggie Vaughan, CPACC</p><p>Content Marketing Practitioner DubBot</p> </div> </aside> </article> <nav class="sidebar-nav" aria-labelledby="cat-heading"> <h2 id="cat-heading">All categories</h2> <ul> <li><a href="/dubblog/index.html">All posts</a></li><li><a href="/dubblog/accessibility.html">Accessibility</a></li><li><a href="/dubblog/case-study.html">Case Studies</a></li><li><a href="/dubblog/conferences.html">Conferences</a></li><li><a href="/dubblog/product-updates.html">Product Updates</a></li><li><a href="/dubblog/quality-assurance.html">Quality Assurance</a></li><li><a href="/dubblog/seo.html">SEO</a></li><li><a href="/dubblog/web-governance.html">Web Governance</a></li><li><a href="/dubblog/3-things.html">3 Things</a></li> </ul> </nav> </div> </div> </main> <footer class="site-footer"> <div class="container"> <a class="site-footer__logo" href="/"><img src="/images/site/dubbot-secondary-logo.svg" alt="DubBot home" width="144" height="40"></a> <div class="site-footer__columns"> <nav aria-labelledby="footer-1"> <h2 id="footer-1"><a href="/features/index.html">Features</a></h2> <ul><li><a href="/features/web-accessibility-checks.html">Web Accessibility Checks</a></li><li><a href="/features/pdf-checks.html">PDF Accessibility Monitoring</a></li><li><a href="/features/image-inventory.html">Image Inventory</a></li><li><a href="/features/web-governance-policies.html">Web Governance Policies</a></li><li><a href="/features/authenticated-content.html">Authenticated Content</a></li><li><a href="/features/broken-link-checks.html">Broken Link Checks</a></li><li><a href="/features/reporting.html">Reporting</a></li><li><a href="/features/seo-checks.html">SEO Checks</a></li><li><a href="/features/uptime-monitoring.html">Uptime Monitoring</a></li><li><a href="/features/task-management.html">Task Management</a></li><li><a href="/features/spelling-readability-checks.html">Spelling & Readability Checks</a></li> </ul> </nav> <nav aria-labelledby="footer-2"> <h2 id="footer-2">Resources</h2> <ul><li><a href="/request-demo/index.html">Book A Demo</a></li><li><a href="https://dubbot.thinkific.com/">Learning Center</a></li><li><a href="https://help.dubbot.com/">Help Center</a></li><li><a href="/quarterly-newsletter.html">Newsletter Signup</a></li><li><a href="https://share.hsforms.com/1CrQHTvGQT3idrpYFq7y8oQ187xn">Advantages for Agencies</a></li><li><a href="https://share.hsforms.com/1q1sZ5JtbRLSuJPhM8r_Ceg187xn">Accessibility Testing Checklist</a></li> </ul> </nav> <nav aria-labelledby="footer-3"> <h2 id="footer-3">Company</h2> <ul><li><a href="/about.html">Leadership Team</a></li><li><a href="/want-to-become-a-partner.html">Partners</a></li><li><a href="/dubblog/index.html">DubBlog</a></li><li><a href="/dubblog/case-study.html">Case Studies</a></li><li><a href="/careers/index.html">Careers</a></li> </ul> </nav> <nav aria-labelledby="footer-4"> <h2 id="footer-4">Get in Touch</h2> <ul><li><a href="mailto:hello@dubbot.com">hello@dubbot.com</a></li><li><a href="tel:+14044968555">(404) 496-8555</a></li><li><a href="https://www.linkedin.com/company/dubbot/">Follow Us On LinkedIn</a></li><li><a href="https://share.hsforms.com/1VOaU7NOHSY-hWwTnK9Bd2A187xn">Grab an A11Y Love sticker!</a></li> </ul> </nav> </div> <div class="site-footer__legal"> <p>© 2026 DubBot. All rights reserved.</p> <ul><li><a href="/privacy-policy.html">Privacy</a></li><li><a href="/accessibility-policy.html">Accessibility Statement</a></li><li><a href="/terms-of-service.html">Terms of Service</a></li><li><button class="link-button" type="button" data-cookie-settings>Cookie settings</button></li> </ul> </div> </div> </footer> <script src="/assets/js/site.js" type="module"></script> <script async defer src="https://js.hs-scripts.com/2063147.js"></script> <script> window.intercomSettings = { app_id: "jvg80vqq" }; (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/jvg80vqq';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(document.readyState==='complete'){l();}else{w.addEventListener('load',l,false);}}})(); </script> </body> </html>