Introduction to Accessibility

Introduction to Accessibility

What is accessibility?

"The degree to which an application protects its functionality from being denied to the user"

Removing problems we have created

Widening the reach of our website

How do disabled people use the web

Blind: speech browsers and refreshable braille display

Partially Blind: Enlarged fonts

Colour-blind: overriding colours

Motor-skill impairements: keyboard-only, serial access devices

Learning disabilities: Plain English - simple language

What difficulties they face

Expensive and limited hardware

Expensive and limited software

Support

What obstacles we impose

Misuse of HTML

Embedding content in graphics

Unreasonable hardware requirements

Unreasonable software requirements

Complicated / precise navigation

Requirements for Accessibility

Disability Discrimination Act

Websites offering a service to the general public

General public includes those with disabilities

Required to make reasonable adjustments to comply

Websites have been in breach since May 2002

Web Content Accessibility Guidelines

Guidelines: http://www.w3.org/TR/WCAG10/

Checklist: http://www.w3.org/TR/WCAG10/full-checklist.html

Techniques: http://www.w3.org/TR/WCAG10-TECHS/

Priority 1 Issues (highlights)

Ensure pages are usable without scripts and applets *

Provide text equivalent for every non-text element

Ensure information conveyed in colour is also available without colour

Organise documents to be readable without stylesheets

For tables, identify row and column headers

For complex tables use markup to associate data cells and header cells

IF All ELSE FAILS: create an accessible alternative

Priority 2 Issues (highlights)

Create documents that validate to published formal grammers

Use stylesheets to control layout and presentation

Use relative sizes rather than fixed

Markup lists and list items properly, use headers properly

Clearly identify the target of each link

Do not use tables for layout

Do not use structural markup for visual formatting

Associate labels explicitly with their form controls

Priority 3 Issues (highlights)

Specify expansion of each abbreviation or acronym in a document's first occurrance

Identify primary natural language of document

Create logical tab order through all elements

Place distinguishing info at the beginning of headings, paragraphs, lists

Create a style of presentation that is consistent across pages

Provide summaries for tables

Provide abbreviations for header labels

Making Websites Accessible

Building accessibility ontop of an inaccessible website

Existing websites

Workarounds and kludges

Lots of extra markup

Meets Level A+ compliance only

Designing with accessibility upfront

Structured markup

Stylesheets

Valid HTML

Meets Level AA+ compliance

Web Design

What is HTML

A markup language

Structures content

What HTML isn't

A layout language

Desktop Publishing

PDF

What is CSS

Stylesheets

Text styles

Positioning and Layout

Aims and focus

Web standards

Royalty free and open standards

Recommendations from W3C

Mainstream browsers support web standards

Avoids browser-dependant authoring

Structured HTML

Identify and markup headings, lists paragraphs

Identify and markup groups of related information

Content

Navigation

Header

Footer

Form structure

Single table structure

Avoid javascript dependancies

Explicitly identify field labels

Use stylesheets to enhance layout

Javascript usage

Avoid javascript dependancies

Avoid hardware dependant scripting

Avoid browser-dependant scripting

Prefer W3C DOM compliant coding

L&G Problem Areas

Presentational markup

hinders structure

makes document more difficult to understand (header or just big text?)

logical structure fundamentally more important than visual "structure"

reduces accessibility

Navigation

Javascript dependant

Fincky and difficult to use

Affects all pages

Solution: New accessible template

Images

No alternative text or descriptions

Javascript dependancies

Form validation

Javascript dependancy

Reliance on javascript to check for clean data

No server-side validation in evidence

Screen flow decisions

Javascript dependancy

Javascript used to populate a hidden field containing the nextPage

Javascript used to override the form action

QAS functions

Javascript dependancy

Javascript copies postcode and house number into hidden field

Javascript overrides form action

scripted field population / calculation

Javascript dependancy

device-dependant event handlers

onclick

onmouseover

onmouseout

onfocus

onchange

onblur

Forms

Alternative text for form image buttons

Buttons are images

images need alternative text to be accessible

alternative text can be the same text displayed on the button

field labels

Every field has a text "label" (Surname, Post Code)

Explicitly map label to field using label element:

Tables

Layout tables

Tables are for structuring tabular data

Football League Table

Train Time Table

Tables for layout sacrifice structure for presentation

Just Say NO.

Forms are an "interactive table" - so okay.

Structured Tables

table header text and table data text

table header, table body, table footer

Accessible Tables

relating header text to data text

scope attribute

header attribute

table summary: What kind of data is in this table?


Comments on this entry

Author: Isofarro
Created: 19/04/2004 08:06