Main content

Debra Kyles

I am an Accessibility Engineer,  working with accessibility for about ten years. I have also worked as a UX Designer for about fifteen years. I’ve worked with governments, enterprise businesses, educational institutions and small IT shops.

A few highlights of my work:

  • ·        Helped the University of Minnesota in their efforts to make a PeopleSoft site accessible using a Javascript overlay.
  • ·        Prepared an Accessibility Approach and Plan document for a T-Mobile redesign.
  • ·        Helped Getwell Network make their hospital-based platform accessible.
  • ·        Trained staff at CalPERS (California Public Employee Retirement System) and the Legislative Data Center to test, validate and fix accessibility issues.
  • ·        Served as SME for the State of California EDD modernization project
  • ·        Served as accessibility expert for the National Institute of Standards and Technology to define standards for accessibility in cloud computing.

I love making the web a better place for the 20% of the population who are challenged with disabilities. By including this population in our design, copy and coding decisions, we make the world a more compassionate, empathetic place to live.

Links that are part of general editorial content must self evident, identifiable by their visual style, and distinguishable from the surrounding content.

Text links must have a mouse-over state change.

Rationale

To aid discoverability all links must be made self-evident with their visual style.

Appropriate styles are:

  • underlined
  • a different colour, meeting contrast standards, to the surrounding text

When hovered over links should have a change in style as confirmation that they are links.

Appropriate styles are:

  • adding an underline to previously not underlined content
  • a change in colour, with a sufficiently different contrast to meet the contrast standard compared with the default state colour

Techniques

Pass:

<style>
    body {
        background: #fff;
        color: #000;
    }

    a {
        color: #005580;
        text-decoration: none;
    }

    a:focus,
    a:hover {
        background: 
        text-decoration: underline;
    }
</style>

<a href="http://www.bbc.co.uk/">BBC</a>

Fail:

<style>
    body {
        background: #fff;
        color: #000;
    }

    a {
        color: #000;
        text-decoration: none;
    }
</style>

<a href="http://www.bbc.co.uk/">BBC</a>

Tests

Procedure Expected Result Type
For every <a> element check the visual style All <a> elements must be visually distinguishable from the surrounding content Manual
For every <a> element check the visual style of the :hover state All <a> elements must have a visually distinguishable style between :link and :hover states Manual

Controls for JavaScript enhanced interactions must be <a><button>, or <input>[type=checkbox,color,date,datetime,datetime-local,email,file,month,number,password,radio,range,search,tel,text,time,url,week]elements if that is the only mechanism for controlling them.

<a> elements used for controls must have an href attribute.

Controls that have no purpose without JavaScript must not be added to the page before the associated code is available capable of running.

Rationale

When creating controls for user interaction with JavaScript enhanced features, for example a carousel with previous and next controls, the controls must be implemented with elements that provide natively focusable elements with click, keydown, and focus events so they are accessible to keyboard as well as pointing device users. If there is an alternative method of controlling the feature, for example a carousel that automatically displays new content when it receives content then controls that are only available to pointing device users can be used.

In general, use <a> elements when there is a URL associated with the interaction when JavaScript is not enabled, and<button> elements for interactions that don’t have an associated URL.

<a> elements without a href attribute are not keyboard accessible, and therefore must not be used for controls.

When there is no core (non-JavaScript) interaction then the control must not be added to the document before the associated JavaScript is capable of running as this would lead to controls that apparently do nothing, potentially causing confusion to users.

Techniques

Pass:

<button type="button">Open panel</button>

<ul>
    <li><a href="#newstab">News</a></li>
    <li><a href="#sporttab">Sport</a></li>
    <li><a href="#entertainmenttab">Entertainment</a></li>
</ul>

Fail:

<a href="#">Open panel</a>

<ul>
    <li><a>News</a></li>
    <li><a>Sport</a></li>
    <li><a>Entertainment</a></li>
</ul>

Tests

Procedure Expected Result Type
Identify each control on the page Navigate the page with a keyboard and ensure that each control is accessible Manual





A document must have exactly one <h1> element.

Heading levels after the document <h1> element must be sequential and must notskip heading levels.

Heading elements must be followed by content.

Rationale

A logical heading structure is invaluable for users of screen readers and similar assistive technologies to help navigate content.

Users should be able to use the document’s <h1> identify its main content. Documents should have one main subject.

Heading levels should not be skipped as a predictable document outline is an important factor for understandability.

Headings should not be used for non-heading purposes, i.e. to identify blocks of content. A heading should always be followed either by non-heading content or by a heading of one level deeper.

Techniques

Pass:

<div role="main">
    <h1>Main page content</h1>

    <p>Lorem ipsum…</p>

    <h2>Secondary content</h2>

    <h3>Tertiary content one</h2>

    <ul>
        <li>Lorem</li>
    </ul>

    <h3>Tertiary content two</h3>

    <ul>
        <li>Ipsum</li>
    </ul>
</div>

Fail:

<div role="main">
    <h3>Main content</h3>

    <h2>Secondary content</h2>

    <h2>Tertiary content</h2>

    <p>Lorem ipsum…</p>
</div>

Tests

Procedure Expected Result Type
Use WAVE Toolbar or similar to generate a document outline There must be exactly one <h1>; No heading levels may be skipped after the <h1>; Tool
Search document source for ‘</h1>’, ‘</h2>’, ‘</h3>’, ‘</h4>’, ‘</h5>’, ‘</h6> There must be exactly one instance of ‘</h1>’ Each heading must be followed by content or another heading of one level deeper Manual



Page 17 of 18