WCAG Accessibility

When designing a website or web application we consider other aspects of UI/UX whereas we always forget to consider people with disability. Lets have a look at statistics of users with disability in USA.
  • 19.9 million (8.2%) have difficulty lifting or grasping. This could, for example impact their use of a mouse or keyboard.
  • 15.2 million (6.3%) have a cognitive, mental, or emotional impairment.
  • 8.1 million (3.3%) have a vision impairment. These people might rely on a screen magnifier or a screen reader, or might have a form of color blindness.
  • 7.6 million (3.1%) have a hearing impairment.  They might rely on transcripts and / or captions for audio and video media.
If we look at above number large user base is having some sort of disability hence if application is designed with accessibility in mind it can bring in more user which would translate to success of the product/website.
Also it is being made mandatory  by law for software applications to be designed as per accessibility standards to keep differently abled people in mainstream.

ABCD of Accessibility

As a differently abled person when I access a website following should happen.
  • Accessible using tabs for easier navigation across all the controls on the page.
  • Bigger the better, fonts should by default bigger enough for someone with bad eyesight to be able to read it with default zoom.
  • Color contrasts should be set in a way that text and surrounding areas do not cause any problem for some with color contrast issue. This applies to text and images and possible combination on the screen.
  • Descriptive readable labels help user to get better insight, this will enable screen readers to read the description
W3C has invested lot of efforts establishing standards for accessibility, lets look at them.

W3C's Web Accessibility Initiative

The W3C is an international, vendor-neutral group that determines protocols and standards for the web. Within the W3C, the Web Accessibility Initiative (WAI) and its working groups develop accessibility guidelines for web browsers, authoring tools, evaluation tools, and web content, to name a few. The Accessibility Guidelines Working Group creates guidelines called the Web Content Accessibility Guidelines (WCAG).

WCAG 1.0

WCAG 1.0, finalized in 1999, was a major development in making web content more accessible to people with disabilities. Its 14 guidelines and numerous checkpoints formed the basis for the initial Section 508 guidelines.
As technologies advanced, WCAG 1.0 became less relevant, and the development of WCAG 2.0 began.

WCAG 2.0

WCAG 2.0, released in 2008, shifted emphasis from technique-centered checkpoints to guidelines and success criteria rooted in four core principles:
  • Perceivable
  • Operable
  • Understandable
  • Robust
These principles (sometimes referred to as "POUR") remain constant as technology changes. Each principle contains guidelines, which in turn contain various success criteria. The principles are examined in depth in Constructing a POUR Website.

Levels of Conformance

To help development teams prioritize accessibility implementation and remediation efforts, WCAG success criteria are organized into three levels of conformance:
  • Level A is a basic requirement for some users with disabilities to be able to access and use web content.
  • Level AA indicates overall accessibility and removal of significant barriers to accessing content.
  • Level AAA provides improvements and enhancements to web accessibility for some users with disabilities.
These levels are cumulative. To claim Level AA conformance, a website must meet all Level A and AA success criteria. Likewise, Level AAA conformance implies that all success criteria from all three levels have been met.
To check level of conformance of your website/application have a look at checklist

Testing tools

To check for issues/bugs we can easily use one of the browser based plugins(Axe and Wave are recommended) which will analyze generated html and report issues like below:-
  • Missing aria-label,aria-describedby.
  • Color contrast.
  • Controls with same name/id.(To avoid confusion for end user)
  • Order of headings (h3 in h1)
  • Missing alt text for image.
  • Empty button.
  • Same alt text images.
  • Redundant links.
  • Redundant link titles.
  • Unreachable controls.
Once html has been tested it is always suggested that the page is tested with screen reader to make sure correct information is being read out to the end user (Enter your name, Enter your last name).
Screen reader will make sure that we don't end up making mistakes like having aria-label as Enter your name in place of address.

Axe(Chrome Plugin)

The axe accessibility checker for Chrome is a fast, lightweight accessibility testing tool that returns zero false positives. It only tests for accessibility issues that can be accurately detected via automation, and it only tests for components that actually exist on the page or application you’re testing. The axe Chrome extension utilizes the axe open source JavaScript library developed by Deque Systems – the third generation of accessibility rules for HTML-based user interfaces. The axe library differentiates itself from other approaches and rules repositories in the following ways: 
1. It works on all modern browsers,
2. It supports in-memory fixtures, static fixtures, integration tests and iframes of infinite depth
3. It has zero false positives (bugs notwithstanding)
4. It is open source (the axe-core library, not the extension)
5. It is actively supported by a major accessibility vendor
6. It is designed to work with whatever tools, frameworks, libraries and environments you have today
7. It is designed to be integrated into your existing functional/acceptance automated tests
8. It automatically determines which rules to run based on the evaluation context

WAVE Web Accessibility Evaluation Tool

WAVE is a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities. WAVE can identify many accessibility and Web Content Accessibility Guideline (WCAG) errors, but also facilitates human evaluation of web content.

NVDA(Screen Reader)

NonVisual Desktop Access (NVDA) is a free and open source screen reader for the Microsoft Windows operating system. Providing feedback via synthetic speech and Braille, it enables blind or vision impaired people to access computers running Windows for no more cost than a sighted person.

References:- 

Comments

Popular posts from this blog

RabbitMQ setup and cluster configuration on a windows network

Gitflow using source tree

Component analysis for application security

Analyse log using plug and play FileBeat

Introduction to Blazor

Azure

What Interview Is/Is Not for an interviewer

.NET MAUI and Blazor to create windows/web and mobile application (.NET 6.0)

Clean Architecture