The Hidden Usability Issues

August 3, 2024In Collective7 Minutes

We all want websites to be user-friendly and accessible to everyone. We want webpages to be fast and not to slow down the tasks we are doing. However, some solutions that seem helpful, like chatbots and accessibility widgets, can actually create more problems than they solve. These widget if used more intentionally can actually be very useful, but poor implementation can create problems that are hard to ignore.

JavaScript overlays for chatbots and accessibility widgets are designed to enhance user interaction by providing real-time assistance and accessibility features. But, these overlays often lack awareness of the underlying content they cover. This can lead to significant usability issues, as they may obscure important information, navigation elements, or interactive components on the webpage. Because these overlays are dynamically added to the site, they do not automatically adjust to the specific layout and content of the page, potentially blocking critical areas and disrupting the user experience. Proper implementation requires careful consideration of their impact on the overall page design and user flow to avoid interfering with essential site functionality.

Developers working on the code.

The Problem with Persistent Chatbots

Chatbots are meant to provide quick assistance, answering common questions and offering customer service. But their placement can often cause more harm than good.

On mobile devices, screen space is already limited. When a chatbot takes up a large portion of the screen, it can block important content, making it hard for users to read or interact with the page. For example, a chatbot might cover navigation buttons or important text, forcing users to close it repeatedly. This is especially problematic when the chatbot is always present, overlaying crucial information or navigation elements. The excessive use of fixed-position elements in the design can contribute to this issue, as they stay in place while users scroll through the page.

Persistent chatbots can disrupt the user experience. Users may struggle to navigate the site or find the information they need without first closing or moving the chatbot. In many cases, this is not an option, leaving the user to scavenge for ways to access the content or interact with the site effectively. In addition, chatbots often load asynchronously with the rest of the page content. This can delay the overall loading time, leading to a slower user experience. The use of cookies to remember user interactions with the chatbot can also complicate the browsing experience, particularly if the chatbot reappears after being dismissed.

Most websites already have contact us or dedicated support pages. A constantly present chatbot can feel redundant and intrusive, particularly if users don’t need immediate help. Instead of enhancing the user experience, it can create an impression of pushy sales tactics.

The Misconception of Accessibility Widgets

Accessibility widgets aim to make websites more accessible to users with disabilities by offering features like text resizing, color contrast adjustments, and screen readers. Relying on these widgets alone has several downsides.

Automated tools and widgets can typically detect and fix a small portion of accessibility issues. More complex problems often require manual intervention and code adjustments. For instance, widgets might not handle ARIA (Accessible Rich Internet Applications) marks correctly, leading to navigation issues for screen reader users. These widgets may also fail to address semantic HTML problems, such as improper heading structures. Placing H1 above H2, or having multiple H1 tags within the page.

A JavaScript conflict occurs when multiple scripts on a webpage interfere with each other, leading to unexpected behavior or errors. Imagine is site all ready has JS menu navigation, additional JS for a chatbot and one more for accessibility widget. There is risk of all of them conflicting and compensating for the functionality. Errors on the page can happen when scripts use the same variable names, functions, or event listeners, or even when they modify the same elements on the page in incompatible ways.

Widgets often create a “separate but equal” experience instead of trully integrated features directly into the website’s code. Often ignoring true needs and aligment with best practices for web usability. Accessibility should be an integral part of the website’s design and development process and not an after-though.

Recommendations for Improving Usability and Accessibility

To create a more user-friendly and accessible website, consider these tips:

Place chatbots on dedicated support or contact pages where users are more likely to need help. This reduces interference with content and navigation on other pages. Implementing context-aware chatbots that only appear when necessary, such as when a user is inactive for a certain period or is browsing the support section, can enhance the user experience. Additionally, using progressive disclosure techniques can help in offering assistance without overwhelming the user.

Ensure that chatbots and accessibility widgets can be easily minimized or closed by users. This allows users to access them when needed without cluttering the interface. Adding clear, accessible controls for minimizing or closing these elements, and ensuring these controls are keyboard-navigable, will respect user autonomy. Also consider implementing user preferences that remember if a user has closed the chatbot or adjusted accessibility settings, to avoid repetitive interactions.

Build accessibility features directly into the website’s code. Conduct manual testing, fix underlying code issues, and provide ongoing maintenance to ensure true accessibility and usability for everyone. Use tools like Lighthouse or WAVE for automated accessibility checks, but complement these with manual testing by people with disabilities. Integrating accessibility into your continuous integration/continuous deployment (CI/CD) pipeline can help catch issues early. Also, consider adopting inclusive design principles, which involve considering the needs of diverse users throughout the design and development process.

By addressing these usability issues, websites can offer a more seamless and enjoyable experience for all users, enhancing both accessibility and overall user satisfaction.