216digital.
Web Accessibility

Phase 1
Web Remediation for Lawsuit Settlement & Prevention


Phase 2
Real-World Accessibility


a11y.Radar
Ongoing Monitoring and Maintenance


Consultation & Training

Is Your Website Vulnerable to Frivolous Lawsuits?
Get a Free Web Accessibility Audit to Learn Where You Stand
Find Out Today!

Web Design & Development

Marketing

PPC Management
Google & Social Media Ads


Professional SEO
Increase Organic Search Strength

Interested in Marketing?
Speak to an Expert about marketing opportunities for your brand to cultivate support and growth online.
Contact Us

About

Blog

Contact Us
  • Responsive Web Design: How It Relates to Digital Accessibility

    Users on mobile devices make up about two-thirds of all web traffic, so having a responsive web design is crucial. With assistive technology on mobile devices, such as Voiceover on iOS, getting better daily, users with disabilities are using mobile devices more than ever. In this article, we’ll explore how to ensure your mobile-friendly design is accessible to users with disabilities.

    What Is Responsive Web Design?

    Responsive web design is an approach to web development that ensures a site’s layout and content automatically adapt to different screen sizes and orientations. With RWD, a single website seamlessly adjusts its appearance and functionality, whether viewed on a desktop, tablet, or smartphone.

    The cornerstone of RWD lies in flexible grids, fluid images, and media queries that allow the design to respond to its environment.

    Why Is Responsive Web Design Important for Accessibility?

    Responsive web design is not just about aesthetics—it’s about usability. For users with disabilities, a responsive site can mean the difference between a smooth experience and complete frustration. Here’s how RWD contributes to digital accessibility:

    • Consistency Across Devices: Users who rely on assistive technologies, such as screen readers or magnifiers, benefit from consistent layouts and predictable navigation across devices.
    • Adaptability for Custom Settings: Responsive designs better accommodate user-specific settings, such as increased font size or high-contrast modes.
    • Ease of Interaction: RWD makes touch targets (like buttons) appropriately sized and spaced for mobile users, which is especially critical for people with motor impairments.
    • Improved Readability: Dynamic text resizing and responsive typography ensure readability for users with low vision.

    Responsive vs. Adaptive Web Design: Which Is Better for Accessibility?

    Although often used interchangeably, responsive and adaptive web design are distinct approaches.

    • Responsive Web Design (RWD): Using media queries, a single design adjusts fluidly to fit various screen sizes.
    • Adaptive Web Design (AWD): Multiple fixed layouts are created for specific screen sizes, and the appropriate layout is served based on the user’s device.

    When it comes to accessibility, RWD generally has the edge. Here’s why:

    • Device-Agnostic: RWD caters to an infinite range of screen sizes, while AWD is limited to the predefined breakpoints for which layouts are designed.
    • Consistency: RWD ensures a uniform experience, while AWD may cause discrepancies between layouts, confusing users who rely on assistive technologies.

    However, both approaches can support accessibility when implemented thoughtfully.

    Common Responsive Web Design Pitfalls That Hurt Accessibility

    Even well-intentioned responsive designs can fall short of accessibility standards. Here are some common mistakes and how to avoid them:

    Inconsistent Navigation

    When navigation menus change drastically between screen sizes, users may struggle to find what they need—especially those relying on screen readers or keyboard navigation.

    Solution: Use consistent and predictable navigation patterns across all breakpoints. Test to ensure screen readers announce menus accurately.

    Inadequate Focus Indicators

    Focus indicators are critical for users navigating with a keyboard, yet they often disappear or become less visible on smaller screens.

    Solution: Design focus states that are prominent across all devices.

    button:focus {  
      outline: 3px solid #0078d7;  
    }  

    Overly Small Touch Targets

    Tiny buttons or links on mobile devices can be difficult for users with motor impairments to tap accurately.

    Solution: Follow WCAG recommendations for touch target sizes (at least 44×44 pixels) and maintain adequate spacing.

    Ignoring User Settings

    Some responsive designs override user preferences, like zooming or high-contrast modes, which can render content inaccessible.

    Solution: Allow user overrides by avoiding !important in CSS styles and ensuring zoom functionality is not disabled.

    Best Practices for Accessible Responsive Web Design

    To build an inclusive, responsive website, focus on these foundational principles:

    Use Semantic HTML

    Start with a solid foundation by using semantic HTML elements like <header>, <nav>, and <main>. These provide structure and meaning, making your content easier to navigate with assistive technologies.

    Design Flexible Layouts

    Build layouts that adapt fluidly to different screen sizes. Use relative units like percentages or em instead of fixed units like pixels.

    .container {  
      width: 90%;  
      max-width: 1200px;  
      margin: 0 auto;  
    }   

    Implement Responsive Typography

    Readable text is crucial for accessibility. Use CSS techniques like clamp() to create scalable typography that adapts to the screen size:

    h1 {  
      font-size: clamp(1.5rem, 5vw, 2.5rem);  
    }  

    Test both manually and with automation, and invite feedback

    Whenever you complete development tasks or onboard new content or products, you should always use automated testing tools like WAVE and Google Lighthouse to ensure you do not introduce any new accessibility barriers. You should also regularly manually test your website using screen reading software. Ensure a link on your website invites user feedback if they encounter an accessibility barrier.

    Incorporate Media Queries Thoughtfully

    Media queries are the backbone of RWD. Use them to adjust layouts without sacrificing usability.

    @media (max-width: 768px) {  
      .nav {  
        display: none;  
      }  
      .mobile-menu {  
        display: block;  
      }  
    }   

    Leverage ARIA Sparingly

    Accessible Rich Internet Applications (ARIA) attributes can enhance accessibility but should not replace semantic HTML. For instance, use aria-expanded to indicate whether a collapsible menu is open or closed.

    <button aria-expanded="false" aria-controls="menu">Menu</button>  
    <div id= "menu" hidden>  
      <!-- Menu items -->  
    </div> 

    Optimize for Performance

    Slow-loading pages frustrate all users but can disproportionately affect those with disabilities. Compress images, minify CSS and JavaScript, and use responsive images to improve load times.

    Testing Responsiveness and Accessibility

    A responsive site isn’t automatically accessible—it needs testing. Here are some tools and methods to ensure your RWD supports digital accessibility:

    • Browser DevTools: Use responsive design modes to preview your site on various screen sizes.
    • Accessibility Testing Tools: Tools like Lighthouse can identify issues like missing alt text or insufficient contrast.
    • User Testing: Engage users with disabilities to test your site’s usability.
    • Mobile Testing: Use actual devices, not just simulators, to test responsiveness and accessibility together.

    Conclusion

    Many web owners focus specifically on the inclusivity of their desktop websites but do not specifically test their mobile views. With most traffic, including users with disabilities, using mobile devices, it’s more important than ever to ensure that all versions of your website, regardless of screen size, are accessible to everyone.

    If you’d like an expert evaluation of your mobile site’s accessibility, contact 216digital using the contact form below.

    Greg McNeil

    December 4, 2024
    How-to Guides
    Accessibility, ecommerce design, responsive web design, RWD, web development, Website Accessibility
  • The Human Touch: Manual Testing for Web Accessibility

    Developing an accessible website goes far beyond simply checking off boxes for legal or regulatory compliance. It’s about making sure that every person, regardless of ability, can comfortably interact with and understand your online content. While automated tools are excellent for quickly spotting many accessibility problems, they can only take you so far. To catch the subtler issues—the ones that can truly affect the user experience—you need the human touch.

    This guide will walk you through the essentials of manual testing. By following these steps, you’ll ensure that your website meets the standards of the Web Content Accessibility Guidelines (WCAG) and provides an inclusive experience for everyone.

    Why Manual Testing is Important

    It might seem tempting to rely only on automated tools for accessibility testing. After all, these tools are fast, can scan entire sites in minutes, and give you neat reports listing potential issues. While that’s helpful, there’s an important piece of the puzzle they can’t fill in on their own.

    Studies suggest that automated tools detect only about 30% of accessibility barriers on a website. That means a whopping 70% of potential issues can go unnoticed if you don’t involve human testers. Why does this happen? Because many aspects of accessibility are about meaning, clarity, and usability—qualities that a computer program can’t fully judge.

    For example, an automated tool can tell if an image tag has “alt” text, but it can’t determine if that text accurately describes what’s in the image. A tool might confirm that you’ve included headings, but it can’t decide if those headings help users understand the structure and purpose of your page.

    Manual testing allows you to catch these subtle issues. By combining automated scans with hands-on checks, you’ll create a complete approach to accessibility. This balanced method ensures that both the technical side and the real-life user experience are taken into account, leading to a more inclusive and welcoming digital environment.

    What Is Included in a Manual Audit?

    If you’re aiming for a website that not only checks the boxes on WCAG compliance but genuinely serves people of all abilities, a manual audit is key. The process involves a series of steps, from planning your testing scope to verifying that users can interact with your site in many different ways. Below, we’ll break down some core areas to consider in your manual testing efforts.

    Developing a Testing Plan

    Think of your testing plan as your roadmap. Before you begin, decide which pages, sections, and features of your site you’ll test. Maybe you’ll start with your homepage, or perhaps you’ll focus on your online store’s product pages, since that’s where most visitors end up. Consider the parts of your site that handle important tasks, like your checkout process or contact forms. These areas often matter most to users and should be top priorities.

    Creating a well-structured plan helps you stay on track. As you test, keep good notes. Document where you find issues, what kind of barriers they create, and ideas for fixing them. This record will not only guide your repair work but also help you understand how your site’s accessibility improves over time.

    Evaluating Keyboard Navigation

    A simple yet powerful first step is to test your website using only a keyboard. Many individuals rely on a keyboard instead of a mouse because of physical or visual impairments. To do this, unplug your mouse and try navigating your site with the Tab, Shift + Tab, Enter, and arrow keys.

    As you move through links, buttons, menus, and form fields, watch for a visible highlight or outline showing which element is currently selected (often called the “focus indicator”). If your focus gets “stuck” or disappears, that’s a sign of a problem. Users who depend on keyboard navigation should be able to move through your entire site easily and understand exactly where they are at all times.

    If you find any trouble spots—like a pop-up menu that traps the focus—make note of it. Fixing these issues can make your site smoother and more intuitive for a wide range of visitors.

    Manual Testing Compatibility with Screen Readers

    Screen readers, such as NVDA, JAWS, and VoiceOver, help users with visual impairments navigate the web by reading page content aloud. To test compatibility, pick one of these tools and open your website. As you listen, ask yourself: Is the content announced in a clear, logical order? Do headings, links, and images make sense when read aloud?

    Pay special attention to images. If an image conveys important information, its alt text should describe what’s shown and why it matters. If an image is only decorative, it should have a null alt attribute, so the screen reader will skip it. Your goal is to ensure that someone who can’t see the screen can still understand what’s there and how to interact with it.

    Checking Color Contrast

    Good color contrast isn’t just about making your site look nice—it’s about ensuring that everyone can read your content comfortably. People with low vision or color blindness might struggle to read text that doesn’t stand out enough from the background.

    Use tools like WebAIM’s Contrast Checker to test your text and background color combinations. If the contrast is too low, adjust your colors until they meet the guidelines. Even a small improvement can make a big difference in how well users can read and engage with your content.

    Reviewing Captions for Multimedia Content

    Videos and audio clips add depth and interest to your site, but they also need to be accessible. Captions ensure that users who are deaf or hard of hearing can understand spoken content. If your videos have dialogue, instructions, or any important information, make sure they come with accurate captions that match the timing and meaning of the audio.

    In some cases, you might need audio descriptions for users who can’t see the visuals. If your video shows data charts, important text, or other key details, consider adding a voice-over description to explain what’s on the screen.

    Ensuring Accessible Forms

    Forms are essential parts of many websites, whether they’re for signing up for a newsletter, making a purchase, or submitting a support request. Yet forms often pose accessibility challenges when they’re not labeled or organized correctly.

    To test form accessibility, try navigating your forms using a keyboard and a screen reader. Do form fields have clear labels that the screen reader announces as you move through them? When errors occur, do the error messages explain the problem in simple terms and guide the user to fix it?

    Paying extra attention to forms can go a long way toward making your site welcoming and easy to use.

    Testing Skip Navigation Links

    Skip navigation links are small but mighty features. They let users skip over repetitive elements—such as large navigation menus—and jump straight to the main content. This is especially helpful for those who rely on a keyboard or a screen reader, as it saves them from having to tab through the same menu items over and over.

    To check for skip navigation links, start navigating your site from the top. See if there’s a “Skip to main content” link or something similar. If it’s missing, adding one can make browsing much more efficient for many users.

    Verifying Link Text

    Have you ever seen a link that just says “click here”? Without surrounding context, that’s not very helpful. People using screen readers often scan links out of their context, so vague link text can be confusing.

    Review all the links on your site and ask yourself: Does the text describe the link’s purpose? For example, “Click here for our latest report” is less helpful than “Download our latest report.” The latter tells users exactly what they’ll get if they follow that link.

    Reviewing Dynamic Content

    Modern websites often feature dynamic elements like pop-ups, slideshows, or modal windows. While these can be visually appealing and helpful, they can also cause confusion if not set up properly. For instance, a modal window might appear over the rest of the content, but if a screen reader user isn’t informed that it popped up, they might continue reading the content behind it without knowing there’s something else to consider.

    Test these features by opening them with a keyboard and listening with a screen reader. Make sure the screen reader announces the new content and that it’s easy to close the pop-up and return to the main page content. Users should feel in control of their experience at all times.

    Documenting Issues and Prioritizing Fixes

    As you work through manual testing, keep detailed notes. Write down any issues you find, along with the steps you’ll need to correct them. Consider how severe each problem is: Does it block users from completing critical tasks, or is it a minor inconvenience?

    By sorting issues into categories—such as “high priority” or “low priority”—you can tackle the most urgent problems first. This approach helps you make steady progress and ensures that you address the biggest barriers right away.

    Building a More Inclusive Website with 216digital

    Manual testing might feel like a big job, but it’s a crucial part of creating a web experience that works for everyone. By planning your testing, checking keyboard navigation, using screen readers, ensuring proper color contrast, reviewing captions, making forms accessible, adding skip links, refining link text, and handling dynamic content correctly, you’ll identify and fix the issues that really matter.

    When your website meets WCAG guidelines and is comfortable to use for people of all abilities, you strengthen your brand’s reputation and reach a wider audience. It’s not just about avoiding legal risks or ticking compliance boxes—though that’s important, too. It’s about showing that you value every visitor and believe they deserve equal access to your information, products, and services.

    If you’re looking for personalized help in making your website ADA compliant, consider reaching out to 216digital. Our experts can provide an ADA briefing and guide you through the finer points of web accessibility, ensuring that you create an inclusive, user-friendly online environment that supports everyone who visits your site.

    Greg McNeil

    December 3, 2024
    How-to Guides, Testing & Remediation
    Accessibility, Accessibility testing, manual audit, Manual Testing, WCAG
  • Accessible Chatbots: Breaking Barriers in Support

    Nowadays, customers have come to expect support and product help on-demand, 24 hours a day, 7 days a week. It is only possible for some businesses to provide human assistance at all times – that’s where chatbots come in. These tools can be invaluable to users and business owners alike, but it’s essential to ensure that people with disabilities can gain access to the same support. Let’s explore the concept of accessible chatbots.

    Why Chatbot Accessibility Matters

    Imagine trying to resolve an urgent issue on a website, only to find the chatbot—your primary source of help—completely unusable. For many people with disabilities, this scenario is all too common.

    Accessible chatbots aren’t just about meeting legal requirements like ADA (Americans with Disabilities Act) compliance or adhering to  WCAG (Web Content Accessibility Guidelines) standards; they’re about creating a seamless experience for everyone. When designed thoughtfully, chatbots can be a powerful tool for inclusivity. But when accessibility is overlooked, they can alienate an entire segment of your audience.

    Common Barriers in AI Chatbots

    Incompatible with Screen Readers

    Many chatbots need more critical semantic HTML features like landmarks and incorrectly use HTML tags, causing a confusing or frustrating experience.

    Keyboard Navigation Failures

    Chatbots often lack keyboard support, requiring mouse clicks to open or interact. Users with disabilities rely on the ability to navigate content and functionality with alternative input methods like keyboards, voice commands, and gestures.

    Unclear or Missing Focus Indicators

    Focus indicators—the visual cues showing where a user is on a page—are often missing in chatbots. Without these, keyboard users may lose track of where they are in the conversation flow.

    Overly Complex or Jumbled Responses

    Chatbots tend to present information in long blocks of text or overly complicated formats. For users with cognitive disabilities, this can be overwhelming and hard to follow.

    Time Constraints

    Some chatbots automatically close after a period of inactivity, which can disadvantage users who need more time to read or type responses.

    Lack of Alternative Communication Options

    Chatbots often act as the sole method of contact, leaving users without alternative ways to reach support if they can’t use the chatbot.

    How to Build an Accessible Chatbot

    Making your chatbot accessible doesn’t have to be daunting. By following WCAG guidelines and implementing these best practices, you can create a more inclusive experience:

    Use Semantic HTML for Chatbot Elements

    Building an accessible chatbot does not require any specialized experience – you can apply the same general best practices to achieve accessible elements. Use the correct semantic HTML tags for each component you create, such as button or input elements.

    Here’s an example of an accessible chatbot button:

    <button aria-label="Open chatbot" id="chatbot-open-button">  
      Chat with us  
    </button>

    The aria-label ensures that screen readers convey the button’s purpose to users.

    Support Keyboard Navigation

    Your chatbot should be fully functional with just a keyboard. Test whether users can open, navigate, and interact with the chatbot using the Tab and arrow keys.

    For example, ensure focus moves logically through the chatbot interface:

    document.querySelector('#chatbot-input').focus();  

    Provide Descriptive ARIA Labels

    ARIA (Accessible Rich Internet Applications) roles and attributes can bridge gaps in accessibility, but they must be used carefully. Assign roles like aria-live to update users on dynamic content.

    <div role="alert" aria-live="polite" id="chatbot-messages">  
      Welcome! How can I assist you today?  
    </div>  

    Using aria-live ensures that screen readers announce new messages in real time.

    Design with Simplicity in Mind

    Avoid overwhelming users with large blocks of text. Break responses into smaller chunks and provide clear, concise answers.

    Allow for Adjustable Timing

    Let users control the session duration. If the chatbot times out, allow them to restart the session without losing previous messages.

    setTimeout(() => {  
      alert('The chatbot session has timed out. Click to resume.');  
    }, 300000);   

    Include Accessible Focus Indicators

    Make sure users can see which element is currently focused. Use CSS to style focus indicators:

    button:focus {  
      outline: 2px solid #005fcc;  
      outline-offset: 2px;  
    }  

    Provide Alternatives to Chatbots

    Not everyone can—or wants to—use a chatbot. Always include alternative ways to contact your business, like email or phone.

    Testing Chatbot Accessibility

    Testing is critical for identifying and fixing accessibility issues. Here are some methods to ensure your chatbot meets accessibility standards:

    Manual Testing with Screen Readers

    Test the chatbot using screen readers like NVDA or JAWS. Check if labels, navigation, and dynamic updates work as intended.

    Keyboard Navigation Tests

    Navigate the entire chatbot interface using only a keyboard. Make sure the focus moves logically, and that all interactions are possible.

    Automated Tools

    Use tools like Lighthouse to identify accessibility issues in your chatbot’s code.

    User Feedback

    Invite users with disabilities to test the chatbot and provide feedback. Their real-world experiences will highlight areas you may have missed.

    Meeting WCAG Standards for Chatbots

    The Web Content Accessibility Guidelines (WCAG) provide a roadmap for making chatbots more inclusive. Key criteria to consider include:

    • 1.3.1: Info and Relationships
    • Ensure that chatbot components are semantically structured and that relationships between elements are apparent.
    • 2.1.1: Keyboard Accessibility
    • All chatbot functions must be accessible via keyboard.
    • 2.4.7: Focus Visible
    • Ensure users can see where they are within the chatbot interface.
    • 4.1.2: Name, Role, Value
    • Use ARIA roles and labels to make interactive elements understandable to assistive technologies.

    Wrapping Up

    All the functionality on your website is helpful in some way to your users, or else you wouldn’t include it on your site. All functionality on your website should be accessible to everyone, especially chatbots.

    Remember to test your chatbot with screen readers, ensure keyboard compatibility, and always provide alternative ways to connect. Inclusive design benefits your business by reaching a broader audience and creating a better user experience for all.

    If you’re unsure if your chatbot is accessible to everyone, reach out to 216digital using the contact form below.

    Greg McNeil

    November 22, 2024
    How-to Guides
    Accessibility, Chatbots, web developers, web development, Website Accessibility
  • Skip Links: Improve Web Accessibility & Navigation

    More and more, digital accessibility has become a major talking point when browsing the web. One of the key components that improve accessibility for users with disabilities is something many users might not even notice: skip links.

    These simple yet powerful tools can make a huge difference in the web experience for individuals relying on keyboard-only interaction, screen readers, or other assistive technologies. In this article, we’ll explore the importance of skip links, their technical mechanics, and how you can implement them effectively on your website.

    What Are Skip Links and Why Are They Important?

    Skip links are navigational links that allow users to skip over repetitive content such as headers, navigation menus, or other elements they’ve already seen. For users relying on assistive technologies like screen readers, keyboard navigation, or switch devices, skip links enable them to jump directly to the main content of the page.

    When navigating a website using a keyboard (by pressing the Tab key), users typically encounter all of the page’s links and elements in a set order. This often means they have to cycle through the same menus, headers, and other repetitive content every time they visit a new page or reload an existing one. Skip links solve this problem by providing an easy way to bypass these elements, saving time and frustration for those who need alternative navigation methods.

    For example, imagine you’re using a screen reader to navigate a website. Without skip links, you might be forced to listen to the same navigation menu and header over and over again, even though you’re only trying to get to the main body of the page. Skip links allow you to bypass this content, going straight to the part of the page you want.

    The Key Benefits of Skip Links

    Improved Navigation for Keyboard-Only Users

    Many people with disabilities, including those with limited mobility or dexterity, use keyboards or alternative input devices to navigate the web. Skip links let users quickly navigate to the main content, bypassing headers, footers, and menus that they may have already accessed.

    Enhanced Experience for Screen Reader Users

    Screen readers announce every element on a webpage in the order they are tabbed through. Without skip links, users would have to hear the same menus and links repeatedly, making navigation time-consuming and tedious. Skip links streamline the experience by providing a shortcut to the main content.

    Better Usability for Assistive Technologies

    Skip links are a simple yet effective tool that benefits various assistive technologies, enhancing the overall usability of your website for a wide range of users.

    Increased Accessibility Compliance

    Many countries and regions have laws requiring websites to be accessible. For example, in the United States, the Americans with Disabilities Act (ADA) mandates that websites must be accessible to all users, including those with disabilities. Implementing skip links helps ensure your website is compliant with accessibility guidelines like Web Content Accessibility Guidelines (WCAG).

    How Do Skip Links Work?

    Skip links work by creating a link that, when activated, allows the user to bypass parts of the webpage and move directly to a more relevant section. These links are typically placed at the top of the page, visible only when the user navigates using the keyboard (by pressing the Tab key). The link itself usually says something like “Skip to main content,” “Skip to navigation,” or “Skip to footer,” depending on which section the user wants to bypass.

    The Technical Mechanics of Skip Links

    To create a skip link, you use basic HTML along with some helpful attributes to control the behavior and accessibility of the link. Here’s an overview of the technical aspects of skip links:

    HTML Structure with <a href> Tags

    The primary way to implement skip links is with the <a> (anchor) tag, which creates hyperlinks. These links should point to specific elements within the webpage, often with id attributes to mark the sections users can skip to.

    tabindex Attribute

    The tabindex attribute is used to control the tab order of elements. By default, links and form controls are included in the tab order. However, for skip links to work properly, they need to be made focusable before other content is tabbed through.

    aria-label and aria-hidden Attributes

    The aria-label attribute can be used to provide screen readers with a more descriptive label for the skip link. For example, you can use it to define a more readable label like “Skip to main content,” ensuring that screen readers announce the skip link’s purpose clearly. On the other hand, the aria-hidden attribute can be used to hide elements from assistive technologies when needed.

    A Simple Skip Link Example

    Here’s a simple HTML example of a skip link that allows users to skip directly to the main content of a webpage:

    <a href="#main-content" class="skip-link" tabindex="0" aria-label="Skip to main content">Skip to main content</a>
    <header>
    <nav> <!-- Navigation Links --> </nav>
    </header>
    <main id="main-content">
    <h1>Welcome to Our Website</h1>
    <p>This is the main content of the page...</p>
    </main>

    In this example:

    • The skip link (<a href="#main-content">) is placed at the top of the page and links to the main-content section identified by the id="main-content".
    • The tabindex="0" ensures that the skip link is focusable and can be reached when using the Tab key.
    • The aria-label="Skip to main content" helps screen reader users understand what the link does.

    Styling Skip Links

    While skip links are crucial for accessibility, they’re not always visually appealing by default. To make skip links blend in with your design, you’ll likely want to hide them until they’re needed and style them for better usability. Here’s how you can style skip links using CSS:

    .skip-link {
    position: absolute;
    top: -40px; /* Hide the link off-screen */
    left: 0;
    background-color: #000;
    color: #fff;
    padding: 10px;
    z-index: 100;
    }
    .skip-link:focus {
    top: 10px; /* Bring the link into view when focused */
    }

    In this example:

    • The .skip-link class hides the skip link off-screen with top: -40px until it’s needed.
    • When the link is focused (i.e., when the user tabs to it), it becomes visible by setting top: 10px.
    • You can customize the background color, text color, padding, and positioning to match your website’s design.

    JavaScript for Enhanced Skip Link Functionality

    In some cases, you may want to enhance the behavior of your skip link using JavaScript. For example, you might want to automatically focus the main content once the skip link is activated. Here’s how you can do that:

    document.querySelector('.skip-link').addEventListener('click', function(e) {
    e.preventDefault();
    document.querySelector('#main-content').focus();
    });

    This script listens for a click on the skip link and prevents the default action (i.e., jumping to the href target). Instead, it uses JavaScript to focus on the main content section, making it even easier for users to access.

    Testing Skip Links for Accessibility

    Once you’ve implemented skip links, it’s essential to test them to ensure they’re working as expected. Here are a few key tips for testing your skip links:

    1. Keyboard Navigation: Use the Tab key to cycle through the elements on your page. Ensure the skip link is the first item that can be focused and that it jumps you to the main content.
    2. Screen Reader Testing: Test your skip links with a screen reader (such as NVDA or VoiceOver) to ensure the skip links are announced correctly and work as expected.
    3. Cross-Browser Compatibility: Make sure your skip links work across different browsers and devices. Some older browsers might have quirks that affect the behavior of tabindex or CSS styling, so testing across multiple platforms is critical.
    4. Accessibility Tools: Use automated accessibility tools like Lighthouse to check for accessibility issues on your website. These tools can help identify missing or misused attributes related to skip links.

    Challenges with Skip Links

    While skip links are an essential tool for accessibility, there are some challenges you might encounter when implementing them:

    • Browser Inconsistencies: Different browsers and devices may render skip links or handle focus management differently. It’s important to test across various platforms to ensure consistent behavior.
    • Visibility and Styling: Skip links should be visible when needed but unobtrusive when not. Ensuring they are easily accessible but don’t clutter the design can require some careful styling.
    • Managing Focus Order: If your page has dynamic content (like modals or sticky headers), you may need to adjust the focus order or ensure that skip links still work as expected when these elements are present.

    Skip Ahead to Success

    Skip links are a simple but vital tool in improving the accessibility of your website. They help keyboard-only users, screen reader users, and others navigate your site more efficiently by skipping over repetitive content and jumping straight to the main sections of the page. By implementing skip links with proper HTML, CSS, and JavaScript, you can enhance the user experience for a wider audience, making your site more inclusive and accessible.

    If you’re ready to make your website ADA-compliant and accessible to everyone, schedule an ADA briefing with 216digital. Our team of experts will walk you through the process, address any questions, and help you create an inclusive, compliant, and user-friendly web experience. Don’t wait—take the first step toward a more accessible digital presence today.

    Greg McNeil

    November 21, 2024
    How-to Guides
    Accessibility, How-to, skip link, Web Accessibility, web developers, web development
  • Should Designers Hit Pause on Animation?

    Animation can bring a website to life, but have you ever considered how it impacts all users? While animations and gifs can make a site feel more dynamic, they can also cause some visitors discomfort—or worse—. Let’s explore why animations can be tricky from an accessibility standpoint and how you can design them to be both engaging and inclusive.

    Why Animation Can Be Problematic

    Animations aren’t just flashy extras—they can deeply affect how users experience your website, and not always in a good way.

    • Motion Sensitivity: Some people have vestibular disorders that make them sensitive to movement on screens. Animations like parallax scrolling or sliding elements can trigger dizziness, vertigo, or nausea.
    • Seizures: Flashing lights or strobing effects can be dangerous for users with photosensitive epilepsy. Even subtle flickers can cause issues.
    • Cognitive Overload: Busy or overly complex animations can overwhelm users with cognitive impairments, making it hard for them to focus or understand the content.
    • Assistive Technology Interference: Screen readers and other tools can struggle with animations that change content dynamically, leading to confusion.

    These challenges highlight why designers need to think critically about when and how they use animations.

    Does Your Design Really Need Animation?

    Not every project calls for animation. Before you add that fancy effect, ask yourself:

    • Does it serve a purpose?
    • Will it help users navigate or understand the site?
    • Could it distract or overwhelm someone?

    Animations should always have a clear function, like drawing attention to a call-to-action or giving feedback on an interaction. If the animation doesn’t improve usability, it might be best to skip it.

    Making Animations Accessible

    If you must use an animation, here are some tips to ensure it doesn’t cause issues for people with cognitive or visual impairments:

    1. Keep It Simple: Avoid overly elaborate or decorative effects. Subtle transitions or fades can be just as effective without being overwhelming.
    2. Mind the Timing: Speed matters. Too fast, and users might get lost; too slow, and they could grow impatient. Aim for a balance that feels natural.
    3. Give Users Control: All animations should have visual and accessible controls to pause and play the animation. Always respect the prefers-reduced-motion media query.
    4. Focus on Purpose: Every animation should add value. Whether it’s guiding users or making content clearer, make sure it serves a meaningful purpose.

    A Quick Fix with prefers-reduced-motion

    One of the easiest ways to address motion sensitivity is by using the prefers-reduced-motion media query. This CSS feature checks if a user has reduced motion enabled on their device and adjusts animations accordingly.

    Here’s how you can tone down animations for users who prefer less motion:

    @media (prefers-reduced-motion: reduce) {  
      .animated-element {  
        animation: none;  
        transition: none;  
      }  
    }  

    Want to simplify rather than completely disable? Try this:

    @media (prefers-reduced-motion: reduce) {  
      .fade-in {  
        animation: fade-in 0.5s linear;  
      }  
    }  
    @keyframes fade-in {  
      from { opacity: 0; }  
      to { opacity: 1; }  
    }  
    

    This approach keeps your design functional while reducing the risk of discomfort for sensitive users.

    What Does WCAG Say About Animation?

    The Web Content Accessibility Guidelines (WCAG) offer clear rules about animations. Two of the most relevant criteria are:

    • 2.3.1: Three Flashes or Below Threshold
    • Avoid animations that flash more than three times per second. It’s a crucial step in reducing the risk of seizures.
    • 2.3.3: Animation from Interactions
    • If animations are triggered by user actions, make sure they can be disabled without affecting functionality.

    Following these guidelines helps ensure your site is usable for everyone.

    Testing Your Animations

    Testing is an essential part of designing accessible animations. Here’s how to do it effectively:

    • Check Motion Settings: Turn on the “reduce motion” setting on your device (available on macOS, Windows, iOS, and Android) and see how your site responds.
    • Try Keyboard Navigation: Ensure animations don’t interfere with keyboard functionality. Can users still tab through links and buttons smoothly?
    • Use Automated Tools: Tools like Lighthouse can catch accessibility issues related to animations.
    • Gather Feedback: Get input from real users, especially those with disabilities. They’ll provide insights you might not have considered.

    Accessible Animation with JavaScript

    Sometimes, you’ll need JavaScript to handle animations. You can still make them accessible by pairing JavaScript with prefers-reduced-motion.

    Here’s a quick example:

    const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');  
    if (reduceMotion.matches) {  
      // Turn off animations for users who prefer reduced motion  
      document.querySelector('.animated-element').style.animation = 'none';  
    } else {  
      // Keep animations for everyone else  
      document.querySelector('.animated-element').classList.add('run-animation');  
    }   

    This snippet ensures your animations adapt to user preferences without requiring manual toggles.

    Wrapping It Up

    Animations can be a powerful tool for creating engaging, interactive websites—but they should never come at the expense of accessibility. By keeping animations simple, purposeful, and user-controlled, you can deliver a better experience for all your visitors.

    Don’t forget to test your designs with real users and tools, and make use of features like prefers-reduced-motion to accommodate different needs. Thoughtful design is inclusive design, and accessible animations are a small change that can make a big difference. If you’re unsure if the animations on your website are accessible or would like an expert partner to help you get started, reach out to 216digital using the contact form below.

    Bobby

    November 14, 2024
    How-to Guides
    Accessibility, animation, How-to, web developers, web development, Website Accessibility
  • Understanding Focus Outlines for Web Accessibility

    Have you ever tried navigating a website without a mouse, relying only on your keyboard? It might seem unusual, but for many people with motor disabilities or visual impairments, this is their everyday reality. Focus outlines—the visual markers that highlight where you are on a page—are essential tools that make this possible.

    Unfortunately, these outlines often get overlooked or even removed during web design, leaving a significant number of users struggling to navigate sites effectively. Let’s break down what focus outlines are, why they matter, and how you can implement them to make your website more inclusive.

    What Is a Focus Outline?

    A focus outline is a visual indicator, often a highlighted border or underline, that appears around a web element when it gains keyboard focus. This outline helps users understand which interactive element they are currently on, whether it’s a link, button, form field, or other focusable component. For example, when a user tabs through a webpage, the focus outline moves from one element to the next, providing a visual cue about their current location on the page.

    This feedback is essential for users who cannot use a mouse and instead navigate by pressing the “Tab” key to move forward and “Shift + Tab” to move backward. For those relying on screen readers, focus outlines further aid in understanding the structure of a page, confirming the position on the screen, and reducing the cognitive load required to navigate the web effectively.

    Why Focus Outlines Matter for Accessibility

    Focus outlines aren’t just nice to have—they’re a must-have for accessibility. According to the Web Content Accessibility Guidelines (WCAG), specifically criterion 2.4.7: Focus Visible, mandate that any keyboard-operable interface must have a visible focus indicator. This ensures that users relying on keyboard navigation always know where they are on the page.

    Who Benefits from Focus Outlines?

    For users with motor disabilities, such as those who have difficulty controlling fine motor movements or are unable to use a mouse, keyboard navigation is a primary means of interacting with digital content. The focus outline serves as a reliable marker of where they are on the page, making navigation smooth and efficient. People with low vision or visual impairments who use high-contrast settings also rely on focus outlines for an additional layer of navigation support, enabling them to visually follow along.

    Legal and Ethical Responsibilities

    Beyond enhancing the user experience, implementing visible focus outlines is a legal and ethical responsibility for organizations. Without them, websites may fail to meet accessibility standards, putting them at risk of non-compliance with the WCAG guidelines. For organizations, following WCAG isn’t just about adhering to regulations; it’s about creating an inclusive experience that all users can navigate.

    How to Create Accessible Focus Outlines

    Making focus outlines accessible and noticeable is all about ensuring they stand out. Here are some tips:

    • Use Sufficient Color Contrast: Choose colors that contrast well with both the element and the background.
    • Choose a Noticeable Style: Solid, dotted, or dashed lines can all work, as long as they’re easily visible.
    • Adjust Thickness: A thicker outline can be more eye-catching and easier to see.

    How to Style Focus States Using CSS

    Outlines can be solid, dotted, or dashed lines, as long as they are visible. Adjusting the thickness can also make the outline more noticeable.

    Example: Basic Focus Outline with CSS

    button:focus,
    a:focus {
      outline: 3px solid #007acc;
    }

    In this example, we’ve applied a 3-pixel solid blue outline to buttons and links when they’re focused. Before finalizing colors, use tools like the WebAIM Contrast Checker to ensure they meet the recommended contrast ratio of at least 3:1 for user interface components.

    Add Background Effects

    For a more custom look, consider adding a background color or shadow effect:

    button:focus {
      outline: none;
      box-shadow: 0 0 5px 2px rgba(0, 122, 204, 0.8);
    }

    This replaces the default outline with a subtle glow, making the focused element stand out without clashing with your design. Just remember to test these styles to ensure they’re visible to everyone, including users with visual impairments.

    Avoiding Common Mistakes with Focus Outlines

    One of the most common pitfalls in web design is removing focus outlines entirely. Designers sometimes find default focus outlines unattractive and may remove them without providing a suitable replacement. While this might make the site look cleaner, it creates significant accessibility barriers for users relying on keyboard navigation. WCAG guideline 2.4.7 requires focus indicators for compliance, so removing focus outlines can result in a failure to meet accessibility standards.

    If you’re tempted to hide the default outline, remember that it’s better to customize it than to remove it. Replacing the outline with a custom design can enhance the aesthetics of your website without sacrificing accessibility. Just ensure that your custom design maintains a strong visual presence and sufficient color contrast.

    Another common mistake is creating focus outlines that blend too closely with the background. This can happen when designers use colors that don’t contrast well with surrounding elements or backgrounds. Remember, users with low vision may struggle to differentiate between similar shades, so it’s essential to test the visibility of focus outlines across various screens and devices.

    Testing Focus Visibility

    Testing is a crucial step to ensure your focus outlines are effective:

    1. Navigate Your Site Using Only the Keyboard: Press the “Tab” key to move through interactive elements and observe the focus outline.
    2. Check Every Interactive Element: Ensure that links, buttons, form fields, and other focusable components have a visible focus state.
    3. Assess Visibility and Consistency: The focus outline should be easily noticeable and consistent across your site.
    4. Accessibility Tools: Tools like Google Lighthouse or WAVE can check WCAG compliance, including focus outlines.

    Make Focus Outlines a Priority

    Focus outlines aren’t just a design detail—they’re a vital part of creating an inclusive web experience. By ensuring your site has clear and consistent focus indicators, you can make your website more accessible for everyone. So, take action today to ensure your website is accessible. Your customers—and your bottom line—will thank you!

    For personalized guidance on making your website ADA compliant, reach out to 216digital for an ADA briefing. Our experts are here to help you navigate the complexities of web accessibility and secure your business against potential legal risks.

    Kayla Laganiere

    November 13, 2024
    How-to Guides
    Accessibility, focus outlines, How-to, web developers, web development, Website Accessibility
  • Accessibility Checklist: Your Guide to Compliance

    Creating an accessible website goes beyond just checking a few boxes—it’s about enabling everyone, including people with disabilities, to engage with your content smoothly. A well-structured accessibility checklist can help you address common barriers, test thoroughly, prioritize fixes, and ensure ongoing compliance with accessibility standards.

    Here’s a comprehensive web accessibility checklist to guide you through essential steps:

    Understand and Set Your Accessibility Goals

    Define accessibility goals based on WCAG (Web Content Accessibility Guidelines) standards.


    Before diving into specific changes, remember that your accessibility improvements should align with recognized standards, particularly WCAG 2.1 A/AA levels. Setting these goals from the start ensures your site meets both legal requirements (like ADA compliance in the U.S.) and the diverse needs of your users. Following an accessibility checklist can help ensure each goal is met.

    Audit Your Website for Accessibility Gaps

    Conduct an initial audit to identify accessibility issues.

    An audit gives a clear view of your website’s current accessibility status, spotlighting areas that need attention. Use tools like automated scanners, manual audits, and assistive technologies (AT) such as screen readers to uncover common barriers. An accessibility checklist is helpful here to document each area tested, including:

    • Keyboard Navigation: Verify that users can navigate your site without a mouse, using keyboard commands only.
    • Color Contrast: Use a contrast checker to ensure text is readable for people with low vision.
    • Alt Text for Images: Check that all images have descriptive alt attributes, making content accessible for visually impaired users.

    Ensure Keyboard Navigation is Intuitive

    Ensure users can navigate your site fully with a keyboard.

    Keyboard navigation is essential for users who don’t use a mouse. This includes making sure all interactive elements like buttons, forms, and links are accessible with the “Tab” and “Enter” keys.

    • Focus States: Make sure focus states (visual indicators for keyboard users) are visible and defined.
    • Logical Order: Verify that the tab order follows a logical sequence, mirroring the visual layout.

    To learn more about keyboard navigation, check out our article, “What is Keyboard Navigation?”

    Implement Proper Use of Alt Text for Images

    Add descriptive alt text to all informative images.

    Alt text serves as an alternative to images, allowing screen readers to describe visuals to visually impaired users.

    • Functional vs. Decorative: Use alt text for images conveying essential information. Use alt=”” for decorative images to prevent screen readers from reading unnecessary details.
    • Descriptive Text: Avoid vague descriptions like “image” and offer concise, informative details to convey the image’s purpose.

    For additional information about alt text, read our article “Understanding Image Alt Text Descriptions.”

    Ensure Sufficient Color Contrast

    Check and adjust color contrast to meet accessibility standards.

    Adequate contrast between text and background ensures readability, especially for users with visual impairments. WCAG recommends a minimum contrast ratio of 4.5:1 for regular text and 3:1 for larger text.

    • Tools: Use WebAIM’s Contrast Checker to verify compliance.
    • Avoid Color-Only Cues: Avoid relying solely on color to convey important information, as colorblind users might miss these cues. Pair colors with other indicators, like icons or text labels.

    Use Semantic HTML Structure

    Build a well-structured HTML hierarchy for better accessibility.

    A clear HTML structure is essential for screen readers and other assistive devices. Proper tags help convey the structure and purpose of your content.

    • Headings: Use heading tags (<h1>, <h2>, etc.) in a logical order, guiding users through content.
    • Landmarks: Include ARIA landmarks like role= “navigation” and role= “main” for easier page navigation.
    • Lists and Tables: Use HTML lists for lists and tables for data, not layout purposes.

    Check out our articles, “How Semantic HTML Improves Your Accessibility & SEO?” or  “How to Implement ARIA Landmarks and Roles for Better Accessibility”  for a deeper dive into semantic HTML and ARIA landmarks.

    Test with Assistive Technologies

    Test your website with various assistive technologies.

    Testing with AT tools like screen readers, voice recognition, and magnification provides insights into your site’s accessibility. Common screen readers include JAWS, NVDA, and VoiceOver.

    • Screen Reader Testing: Check that all text, buttons, and links are accessible with screen readers.
    • Voice Navigation: Confirm that users can navigate all interactive elements using voice commands.
    • Magnification Tools: Ensure that the design remains usable when zoomed to 200%.

    Incorporate Accessible Forms

    Design forms with clear labels and error messages.

    Accessible forms enable users to enter information accurately and with ease.

    • Labels and Instructions: Each form field should have a visible label. Use placeholder text sparingly.
    • Error Handling: Provide clear error messages when input is invalid. Describe what went wrong and how to fix it.
    • Field Focus: Ensure that after submission, the keyboard focus moves to the first field needing correction.

    Conduct Remediation Based on Prioritized Issues

    Address identified accessibility issues based on their impact.

    After auditing, prioritize fixes by severity and frequency. Address critical issues first, especially those that affect navigation and content comprehension.

    Implement Continuous Monitoring with Tools Like a11y.Radar

    Set up ongoing accessibility monitoring to maintain compliance.

    Web accessibility is a continuous effort. New content or design changes can create new barriers, so ongoing monitoring tools like a11y.Radar can be part of your accessibility checklist, alerting you to real-time issues.

    • Real-Time Alerts: Get notifications for new issues, allowing for prompt fixes.
    • Automated Reports: Schedule regular accessibility reports to stay aware of your compliance status.

    Conduct Routine Manual and Automated Testing

    Schedule consistent accessibility testing intervals.

    Automated tools are helpful for common issues, but manual testing finds more complex accessibility gaps. A mix of both ensures a thorough evaluation.

    • Automated Testing: Use tools like Google Lighthouse or WAVE for quick assessments.
    • Manual Testing: Focus on custom components that automated tools may not fully catch.

    Keep Up-to-Date with WCAG Guidelines

    Stay current on WCAG updates and best practices.

    Accessibility standards evolve to meet new needs. KRegularly updating your accessibility checklist ensures compliance with the latest WCAG guidelines, like WCAG 2.2 or 3.0.

    • Review WCAG Changes: Familiarize yourself with new criteria.
    • Align with a11y.Radar: Ensure your monitoring tools adapt to updates, maintaining continuous compliance.

    Take the First Step Towards Accessibility

    Creating an accessible website is essential not only for compliance but for providing a truly inclusive experience for all users. By following a structured approach to accessibility—setting goals, auditing your site, prioritizing fixes, and maintaining continuous monitoring—you’re laying a solid foundation for an accessible, user-friendly site.

    If you’re ready to make accessibility a priority but need guidance on how to navigate ADA compliance, consider scheduling an ADA briefing with 216digital. Our team can help you navigate accessibility standards, pinpoint key areas for improvement, and develop a checklist tailored to your site’s needs. Take the first step toward making your website accessible to all—schedule your ADA briefing with 216digital today and ensure your digital presence is compliant, inclusive, and welcoming.

    Greg McNeil

    November 12, 2024
    How-to Guides
    Accessibility, accessible checklist, How-to, Website Accessibility
  • Why Touch Targets Impacts Accessibility

    Imagine this: a customer visits your website, excited to snag a deal on their holiday shopping list. They’re scrolling through your page on their phone, ready to click “add to cart,”—but then they hit a roadblock. The buttons are too small, links are crowded together, and navigating your site becomes a frustrating game of “tap and hope.” Now imagine if that customer has limited dexterity or relies on assistive technology. For them, those tiny buttons and cramped links aren’t just an inconvenience; they’re a barrier.

    Accessibility issues like these don’t just affect your users’ experience—they impact your bottom line and even your legal compliance. Making sure your site’s touch targets are easy to interact with is one of the simplest yet most impactful changes you can make. In this guide, we’ll cover why large, accessible touch targets matter, how they boost usability for everyone, and what steps you can take to ensure your site is welcoming to all.

    What Are Touch Targets and Why Are They Important?

    Touch targets are interactive elements—such as buttons, links, and form controls—that users engage with as they navigate your website. The size and spacing of these elements can make or break the experience, especially for users on mobile devices or those with physical limitations. If touch targets are too small or closely spaced, users may struggle to click or tap accurately, leading to frustration and a poor experience. This can be particularly challenging for older adults and individuals with limited dexterity.

    Making touch targets sufficiently large and spaced out allows everyone to navigate and interact with your site more easily, enhancing both usability and inclusivity. This is a foundational aspect of web accessibility that ensures your website works well for all.

    WCAG Guidelines: Key Standards for Touch Target Size

    To provide clear guidance on accessible touch target sizes, the Web Content Accessibility Guidelines (WCAG) have established several success criteria. WCAG 2.1 and the updated WCAG 2.2 outline standards to help developers make online content accessible, mainly through adequately sized touch targets.

    Success Criterion 2.5.5 (Target Size)

    In WCAG 2.1, Criterion 2.5.5 specifies that interactive elements should meet a minimum touch target size of 44×44 pixels, making it easier for users with limited motor skills or assistive technology to select the right element.

    Success Criterion 2.5.8 (Target Size – Enhanced)

    WCAG 2.2 expands on this with Criterion 2.5.8, recommending even larger touch targets when interactive elements are positioned close together. This helps users avoid accidentally tapping the wrong element, especially on mobile devices or when using screen readers.

    These guidelines establish a foundation for accessible design, giving developers clear targets to create user-friendly, inclusive sites that reduce errors and improve the overall user experience.

    Best Practices for Designing Accessible Touch Targets

    With WCAG standards in mind, you can take steps to create touch targets that enhance usability. Here are some essential practices for implementing accessible interactive elements:

    Use Adequate Padding and Margin

    Padding and margins around buttons and links help ensure they meet minimum size requirements while maintaining a clean visual layout. For example:

    button {
      padding: 12px 20px; /* Increases padding for larger touch target */
      font-size: 16px;
    }

    Ensure Minimum Width and Height

    Using min-width and min-height properties guarantees that buttons and other elements stay at least 44×44 pixels, even when the element content is smaller. This maintains accessibility across different screen sizes.

    button {
      min-width: 44px;
      min-height: 44px;
    }

    Space Out Interactive Elements

    Placing enough space between buttons and links prevents mis-taps and ensures usability for all users, especially those on mobile devices or using assistive technologies.

    button, a {
      margin: 10px;
    }

    Add ARIA Attributes for Enhanced Accessibility

    ARIA attributes (Accessible Rich Internet Applications) add context to interactive elements for users relying on assistive devices. For instance, using aria-expanded or aria-haspopup on a menu button helps screen reader users understand its function.

    <button aria-expanded="false" aria-haspopup="true">Menu</button>

    Responsive Design: Ensure Touch Target Size Across Devices

    Since many users rely on mobile devices for browsing, it’s essential to make touch targets easily accessible on smaller screens. Using responsive CSS ensures that touch targets adapt to various screen sizes:

    @media (max-width: 600px) {
      button {
        padding: 15px 25px; /* Larger padding on smaller screens */
      }
    }

    Testing Touch Target Accessibility

    Once you’ve optimized your touch targets, testing is essential to ensure they’re functional and accessible. Here are a few testing strategies to confirm usability:

    • Manual Testing: Test your site on various devices (desktop, tablet, mobile) to ensure touch targets are easy to access and use.
    • Accessibility Tools: Tools like Google Lighthouse or WAVE can check WCAG compliance, including touch target sizes.
    • User Testing: Feedback from real users, particularly those with disabilities, is invaluable for assessing how accessible and user-friendly your touch targets are.

    Wrapping Up

    Improving touch target accessibility is just one of many steps toward making your website genuinely inclusive and user-friendly. By focusing on accessible design, you not only enhance the experience for users with mobility challenges and those using assistive technologies but also build a site that’s welcoming and intuitive for everyone. Following WCAG guidelines, using best coding practices, and regular testing are essential—but navigating these standards alone can be overwhelming.

    If you’re ready to take accessibility seriously and want to ensure your site is fully ADA-compliant, consider scheduling an ADA briefing with 216digital. Our team of accessibility experts can help you identify potential compliance issues, create actionable solutions, and guide you through the process of building a more accessible and inclusive website. Reach out today to learn how we can help safeguard your site and open new opportunities with ADA compliance.

    Greg McNeil

    November 8, 2024
    How-to Guides
    Accessibility, How-to, touch targets, web developers, web development, Website Accessibility
  • How to Build Accessible React Applications

    Building an accessible React application means designing a site that everyone, including people with disabilities, can use and enjoy. Accessibility in web apps isn’t just a legal or ethical responsibility—it’s also a best practice that improves user experience for everyone. React, with its dynamic and component-based nature, offers much flexibility, but without careful planning, accessibility can fall through the cracks. This guide will walk you through critical practices to build a more accessible React app, covering essential tools, effective HTML and ARIA usage, keyboard accessibility, and screen reader management.

    Why Accessibility in React Matters

    An accessible React app does not create obstacles for people who rely on assistive technology like screen readers, keyboards, or other devices. According to Web Content Accessibility Guidelines (WCAG), making web content accessible means people of all abilities can navigate, understand, and interact with your content. With tools and techniques tailored for React, you can ensure that users with disabilities get the best experience possible.

    Setting Up an Accessibility-Friendly Development Environment

    Setting up your React environment to catch accessibility issues early is a powerful way to build accessible applications. A highly recommended tool for React is eslint-plugin-jsx-a11y, which catches JSX-specific accessibility issues directly in your code editor.

    Installing eslint-plugin-jsx-a11y

    Install the plugin:

    npm install eslint-plugin-jsx-a11y --save-dev

    Configure ESLint: Add the plugin to your ESLint configuration file.

    {
      "plugins": ["jsx-a11y"],
      "extends": [
        "eslint:recommended",
        "plugin:jsx-a11y/recommended"
      ]
    }

    This plugin identifies accessibility issues in JSX, such as missing ARIA roles, empty <alt> attributes on images, and improper keyboard handling.

    The Power of Semantic HTML in React

    When it comes to accessibility, semantic HTML is your best friend. Semantic elements like <button>, <header>, and <nav> are designed to convey meaning and functionality to both browsers and screen readers. This minimizes the need for ARIA roles and additional attributes, as semantic HTML elements come with built-in keyboard accessibility and screen reader support.

    Examples of Semantic HTML in React

    Using semantic elements directly in React makes components accessible by default. For example:

    import React from 'react';
    function AppHeader() {
      return (
        <header>
          <h1>Welcome to My Store</h1>
          <nav>
            <a href="#home">Home</a>
            <a href="#products">Products</a>
            <a href="#contact">Contact</a>
          </nav>
        </header>
      );
    }
    export default AppHeader;

    Avoid Using <div> and <span> for Interactive Elements

    Avoid using generic elements like <div> and <span> to create buttons or links, as these don’t include native keyboard or accessibility functionality. Instead, use <button> and <a> elements to ensure proper accessibility and functionality. For example:

    function IconButton() {
      return <button aria-label="Open settings" onClick={() => alert('Settings')}>⚙️</button>;
    }

    Enhancing Accessibility with ARIA Roles (But Use Them Wisely)

    ARIA (Accessible Rich Internet Applications) can make custom elements accessible when there’s no HTML equivalent. However, it’s essential to use ARIA roles to enhance existing semantic elements rather than replace them.

    Using aria-label for Accessibility

    Sometimes, buttons or icons need additional context for screen readers. The aria-label attribute provides descriptive text to communicate functionality.

    function IconButton() {
      return <button aria-label="Open settings" onClick={() => alert('Settings')}>⚙️</button>;
    }

    Dynamic Updates with aria-live

    React apps often have dynamic content. Use aria-live regions to notify screen readers about important changes.

    function AlertMessage({ message }) {
      return (
        <div aria-live="assertive">
          {message}
        </div>
      );
    }

    Keyboard Accessibility and Focus Management

    Keyboard accessibility ensures users can navigate your app without a mouse, which is crucial for many assistive technology users. In React, managing keyboard focus is straightforward with hooks like useRef and useEffect.

    Setting Focus with useRef and useEffect

    You can use useRef to target an element and useEffect to set focus when a component mounts. This is useful for elements like modals, which should receive focus when they appear.

    import React, { useRef, useEffect } from 'react';
    function Modal({ isOpen, onClose }) {
      const closeButtonRef = useRef(null);
      useEffect(() => {
        if (isOpen) {
          closeButtonRef.current.focus();
        }
      }, [isOpen]);
      return (
        isOpen && (
          <div role="dialog" aria-modal="true">
            <p>Modal content here</p>
            <button ref={closeButtonRef} onClick={onClose}>Close</button>
          </div>
        )
      );
    }

    In this example, the close button gains focus when the modal opens, making navigation intuitive for keyboard users.

    Avoiding Focus Traps

    Focus traps occur when users get “stuck” within an element, such as a modal, and can’t return to the main content. Ensure that focus can move freely between interactive elements and provide a way to close modals with the Escape key.

    Best Practices for Accessible Interactive Elements

    When building custom components, pay attention to how they’ll be used with a keyboard:

    Provide Clear Labels for Inputs

    Forms are essential in any application, and labeling form controls is critical for accessibility. Use labels effectively with inputs, either through <label> elements or aria-label attributes.

    function NameInput() {
      return (
        <label htmlFor="name">
          Name:
          <input type="text" id="name" aria-required="true" />
        </label>
      );
    }

    Accessible Modals

    For custom modal components, set the role= "dialog" and aria-modal= "true" attributes, which inform assistive technology that the content is a modal.

    Testing Focus

    After adding interactive elements, test that each one can be reached and activated using only the Tab, Enter, and Escape keys. This ensures full keyboard accessibility.

    Managing Screen Reader Navigation in SPAs

    Single Page Applications (SPAs) often update content dynamically without full page reloads, which can make it difficult for screen reader users to keep track of changes. When the main content area updates, shift focus to the new content or provide a way for screen readers to be alerted about the change.

    Example: Setting Focus on Page Updates

    import React, { useEffect, useRef } from 'react';
    function ContentArea({ content }) {
      const contentRef = useRef();
      useEffect(() => {
        contentRef.current.focus();
      }, [content]);
      return (
        <main tabIndex="-1" ref={contentRef}>
          {content}
        </main>
      );
    }

    Here, the main content area receives focus after each update, helping screen reader users navigate SPAs more easily.

    Testing Your React App for Accessibility

    Testing is crucial to ensure your React application meets accessibility standards. Here are some testing methods and tools:

    1. Manual Testing: Use keyboard-only navigation to interact with your app, checking that all elements are accessible and usable. Verify that custom elements respond to the Tab, Enter, and Escape keys.
    2. Screen Readers: Test with a screen reader like NVDA (for Windows) or VoiceOver (for macOS). Experience the app as a screen reader user to see how well content updates and ARIA roles are conveyed.
    3. Automated Tools: Tools like Google Lighthouse or WAVE identify many accessibility issues. They’re helpful for quickly checking common problems, although they don’t replace manual testing.

    Conclusion

    Building accessible React applications takes effort but is entirely achievable with the right techniques and tools. Start by setting up your development environment with eslint-plugin-jsx-a11y to catch common issues, and always prioritize semantic HTML elements for inherent accessibility. ARIA roles are powerful but should be used to enhance—not replace—standard HTML.

    Ensuring keyboard accessibility, managing focus in SPAs, and regularly testing for accessibility can make a world of difference for users. By following these practices, you’re not only meeting WCAG standards but also creating a better user experience for everyone.

    Need help?  Reach out to 216digital using the contact form below for a complimentary ADA briefing.

    Bobby

    November 6, 2024
    How-to Guides
    ARIA, How-to, React, web developers, web development
  • Using NVDA to Test Web Accessibility

    Making your website accessible isn’t just a checkbox to tick—it’s about creating a space where everyone feels welcome. Imagine trying to browse a site only to hit wall after wall because it wasn’t designed with all users in mind—that’s the reality for millions of people with disabilities. One of the most effective ways to understand and improve your site’s accessibility is by testing it with tools like NVDA (NonVisual Desktop Access). NVDA is a free, open-source screen reader for Windows that provides audio feedback, enabling users who are blind or visually impaired to explore and interact with digital content.

    If you’re a developer or designer aiming to make your website user-friendly for everyone, testing with NVDA can be a real eye-opener. This guide will walk you through everything you need to get started—from setting up NVDA to identifying common accessibility barriers. We’ll also compare NVDA with other screen readers and share tips on integrating accessibility checks into your workflow.

    Why Testing with a Screen Reader Matters

    Testing with a screen reader is crucial for building websites that everyone can use and enjoy. Did you know that over 8 million people in the United States have a visual disability? Worldwide, an estimated 2.2 billion people are affected by some form of visual impairment. That’s a considerable number of users who rely on screen readers like NVDA to navigate the web. Yet, despite this need, studies show that 95.9% of the world’s top million homepages still have detectable accessibility issues, many of which directly impact screen reader users.

    Common Accessibility Barriers

    While standards like the Web Content Accessibility Guidelines (WCAG) exist to help ensure content is accessible, there’s still a gap between ticking the compliance boxes and actual usability. Some common accessibility barriers impacting screen reader users include:

    • Missing or Incorrect Alt Text: Without alt text, images lack context, making it hard for users to understand what’s on the page.
    • Improper Heading Structure: Jumping from an H1 to an H3 heading (and skipping H2) can make navigating a page disorienting.
    • Inadequate Link Descriptions: Using link text like “Click here” doesn’t tell users where the link will take them.
    • Lack of Keyboard Navigation: If elements aren’t reachable by the keyboard, users may not be able to navigate away from certain sections.

    By testing your site with a screen reader like NVDA, you can spot and fix these barriers directly, ensuring your content is genuinely usable—not just technically accessible. This step is vital for engaging a wide audience, including customers who rely on screen readers for equal access. 

    Plus, by prioritizing screen reader accessibility, you’re not just meeting legal requirements; you’re showing that your brand values inclusivity, which can resonate with customers and build loyalty.

    Getting Started with NVDA

    Ready to dive in? First, you’ll need to install NVDA on a Windows computer. Just head over to its official website and follow the straightforward instructions. Once it’s installed, take a few minutes to explore the settings. NVDA lets you adjust things like speed, voice pitch, and how much information it reads out loud. Tweaking these settings can make your screen reader testing smoother and help you catch all the essential details without getting distracted.

    Understanding the Basics of NVDA

    At first glance, NVDA might seem a bit overwhelming, but don’t worry—once you get the hang of a few essential controls, you’ll be navigating like a pro. The main control is the Insert key, which you use along with other keys to execute commands. For example, pressing Insert + Spacebar toggles between browse and focus modes, showing how users move between different sections and interact with elements on your site.

    Key Shortcuts to Know

    • Tab: Move through interactive elements like buttons and links.
    • Shift + Tab: Go back through items, helping you check the flow of navigation.
    • H: Navigate through headings in sequence (Shift + H moves backward), which is crucial for accessibility.
    • K for links or G for graphics: Jump to specific content, helping you quickly assess if important items are accessible.

    Testing for Accessibility Barriers with NVDA

    Once you’re comfortable with NVDA, it’s time to put your website to the test. The goal is to see how easy (or difficult) it is for a screen reader user to find and understand information on your site.

    Check Your Navigation Structure

    Screen reader users rely heavily on clear navigation. Headings should be marked in a logical order, and the Tab key should move through items sensibly. As you use NVDA, please pay close attention to how it announces headings, links, and interactive elements. For instance, links labeled “Read More” can be confusing, while “Learn More About Our Services” is much more straightforward. Descriptive link text is vital to helping screen reader users navigate confidently.

    Confirm Image Descriptions

    Proper alt text is a must for images. Use the G key to move through images and listen to the descriptions NVDA reads aloud. The alt text doesn’t need to be lengthy—just informative enough to give users an idea of the image’s purpose.

    For additional information about alt text, read our article “Understanding Image Alt Text Descriptions.”

    Test Interactive Elements Like Forms

    Forms can be tricky for screen reader users if they’re not labeled well. As you move through form fields, listen to the labels NVDA reads. Each field should have a clear label, and error messages should be accessible, too. Testing with NVDA can reveal unlabeled fields or hidden error messages that might make filling out forms difficult.

    Common Accessibility Barriers to Watch For

    Using NVDA can help you spot common barriers that affect accessibility:

    • Keyboard Traps: These occur when users get stuck in one part of the page. Use the Tab and Shift + Tab keys to move around; if you find yourself stuck, it’s likely a keyboard trap.
    • Focus Indicators: Screen reader users (and keyboard users in general) need a visible marker to show where they are on the page. Test this by tabbing through your site to see if each interactive element has a clear indicator.
    • Content Flow: Listen to your site in linear order, from top to bottom. Does it make sense as you go? Unclear structure or skipped headings can confuse users trying to navigate the content in a meaningful order.

    Documenting What You Find

    As you test, it’s helpful to document any issues you come across. Be specific: note where each issue happens, what the problem is, and why it’s an accessibility issue. For example, if a button lacks a label, describe which button it is, where it’s located, and how this impacts screen reader users. Including step-by-step details on how you tested (like key sequences or what NVDA readout) can also help your team quickly recreate and fix the issue.

    Trying Out Other Screen Readers

    While NVDA is a fantastic tool, remember that users rely on different screen readers like JAWS or VoiceOver on Apple devices. Testing with more than one screen reader can uncover accessibility issues that one tool might miss. NVDA is particularly good with dynamic content and ARIA (Accessible Rich Internet Applications) attributes. So, if you can, try testing with multiple screen readers to get a fuller picture of your site’s accessibility.

    Making Accessibility Part of Your Process

    Accessibility testing with NVDA shouldn’t be a one-time thing—it works best when it’s part of your development process from the start. By catching issues early, you’ll avoid significant fixes later and create a better experience for everyone. During design, consider accessibility-friendly patterns like high-contrast colors and adjustable font sizes. During development, use NVDA to test as you go and do a final check once your site is live.

    And if possible, getting feedback from users with disabilities can be incredibly valuable. While NVDA can help you simulate a screen reader experience, real users bring real-world insights that can highlight usability issues you might not think of.

    Wrapping Up

    Using NVDA to test your website’s accessibility is a powerful step toward creating a more inclusive online experience, but there’s so much more to accessibility than just technical adjustments—it’s about making your site welcoming to everyone, including customers who rely on assistive technology. 

    To help you navigate the broader world of ADA compliance and web accessibility, consider scheduling a briefing with 216digital. Our team can walk you through key accessibility requirements, share insights into your site’s current compliance level, and guide you on building a sustainable, accessible web presence. Let’s work together to make your website an inclusive, welcoming space for all users. Schedule your ADA briefing with 216digital today, and take the next step toward true digital accessibility.

    Kayla Laganiere

    November 5, 2024
    How-to Guides
    Accessibility, Accessibility testing, ADA Compliance, NVDA, web developers, Website Accessibility
Previous Page
1 … 3 4 5 6 7 8
Next Page
216digital Scanning Tool

Audit Your Website for Free

Find Out if Your Website is WCAG & ADA Compliant













    216digital Logo

    Our team is full of expert professionals in Web Accessibility Remediation, eCommerce Design & Development, and Marketing – ready to help you reach your goals and thrive in a competitive marketplace. 

    216 Digital, Inc. BBB Business Review

    Get in Touch

    2208 E Enterprise Pkwy
    Twinsburg, OH 44087
    216.505.4400
    info@216digital.com

    Support

    Support Desk
    Acceptable Use Policy
    Accessibility Policy
    Privacy Policy

    Web Accessibility

    Settlement & Risk Mitigation
    WCAG 2.1/2.2 AA Compliance
    Monitoring Service by a11y.Radar

    Development & Marketing

    eCommerce Development
    PPC Marketing
    Professional SEO

    About

    About Us
    Contact

    Copyright 2024 216digital. All Rights Reserved.