ERT Feedback from Michael Cooper
Here's a list of Techniques that I wanted to comment about. In some case there
wasn't an existing Technique so I directed my comments instead to the Checkpoint.
- Technique 1.1.A
- Check images ALT text
- I come under the null ALT text ("") is allowed camp,
to comment out extraneous spacer images, I agree "" or "<whitespace>"
should be not allowed when image is the sole content of a link.
- Technique 1.1.B
- Check images for LONGDESC and descriptive link
- Bobby's implementation: whether a description is needed is an ask if we
don't find a LONGDESC, so we do that. We only ask for D-link for images that
do have a LONGDESC so we don't end up asking for descriptions twice, once
as a LONGDESC and once as a D-link. We might want to add a list of exceptions
such as icons, logos, etc., like we do for ALT text.
- Technique 1.1.F
- Check objects for alternative representation
- Valid alternate representation can also be another OBJECT provided at the
base of the hierarchy there is text (or something with alt text); this should
include any element that contains text such as a table.
- Technique 1.1.G
- Check frames for an associated LONGDESC file
- Add IFRAME.
- Technique 1.1.I
- Check if audio files have an associated text transcript
- We should also check EMBED and OBJECT for audio types (from sound extension
as source or a TYPE attribute); should also ask about APPLET, EMBED, OBJECT,
SCRIPT which may contain sounds we don't know about.
- Technique 1.1.J
- Check SCRIPT element for an associated NOSCRIPT element
- Check for just one NOSCRIPT on the page in which there is a SCRIPT: NOSCRIPT
can't logically follow a script in the HEAD, and may be better placed elsewhere
than the script which may be in an arbitrary location.
- Technique 1.2.A
- Prompt user for text links if ISMAP used
- Prompt for text links if ISMAP used only if USEMAP (with valid, e.g., found,
MAP element as target) also not found.
- Checkpoint 1.4
- For any time-based multimedia presentation (e.g., a movie or animation),
synchronize equivalent alternatives (e.g., captions or auditory descriptions
of the visual track) with the presentation
- New Technique: check SMIL files for synchronized media.
- Technique 2.1.A
- User Notification for color use
- Also need to trigger if we detect any HTML or CSS color settings
- Technique 2.2.A
- Test the color attributes of the BODY element for visibility
- Updated list of what HTML color attributes to check:
- BODY
- BGCOLOR
- TEXT
- ALINK
- VLINK
- LINK
- BACKGROUND (an image which may not contrast well with text)
- TABLE
- TD,TH
- BGCOLOR (not part of HTML spec)
- HR
- FONT
For HTML color definitions, element receives color set by closest ancestor,
contrast should be tested with BGCOLOR of nearest ancestor
- Checkpoint 2.2
- Ensure that foreground and background color combinations provide sufficient
contrast when viewed by someone having color deficits or when viewed on a
black and white screen
- New technique: check style sheet colors and cascade down
to determine color of current element
- Checkpoint 2.2
- Ensure that foreground and background color combinations provide sufficient
contrast when viewed by someone having color deficits or when viewed on a
black and white screen
- New Technique: if any one of the five BODY color elements
are set, require that all be set, so the settings don't interact unfortunately
with a user's custom defaults.
- Technique 3.2.A
- Check document for public text identifier
- Public text identifier should be one of the HTML or XHTML identifiers. If
not, and does not otherwise appear to be HTML, refuse to evaluate document.
- Technique 3.3.A
Check document for use of style sheets. Notify user if they are not used.
- Also check for <LINK REL="stylesheet"...>, we only need
that or the STYLE element, not both.
- Technique 3.4.A
Check STYLE attributes for relative or absolute units.
- For any HTML element defined to take a %LENGTH, %PIXELS, %MULTILENGTH, or
%MULTILENGTHS, a validated value should either end with "%" or begin
with "+" or "-". Note: the title above was copied from
the Table of Contents but is different from the title in the Technique, which
is what I based this on.
- Checkpoint 3.4
- Use relative rather than absolute units in markup language attribute values
and style sheet property values
- New Technique: for CSS elements defined to take a length
value, value must end with "%", "em", or "ex".
- Technique 3.5.A
- Check document for header nesting
- I'm inclined to scrap the first two points in the evaluation, as they don't
seem to be relevant to navigability/organization of the document and common
usage would trigger this on almost every page.
- Checkpoint 3.6
- Mark up lists and list items properly
- New Technique: trigger on LI elements not in a list container
(OL|UL|DIR|MENU), or DT|DD elements not in a DL container; likewise, those
containers must have one or more of their children.
- Technique 5.1.B
- Determine the purpose of the table
- This should be the first technique, needs to be done before we can do any
more tests on tables.
- Technique 6.1.A
- User notification of style sheet use.
- Also presence of STYLE element. In suggested language, we need to acknowledge
that Checkpoint 6.1 and Checkpoint 3.3 are mutually exclusive: one or the
other will always be triggered.
- Technique 6.2.A
- Check the FRAME source to ensure it is an HTML document
- Add IFRAME, also reverse evaluation: trigger if source is not an
HTML doc. Difficult to know what may be a valid HTML document without retrieving,
for Bobby our current list of file extensions is .HTM, .HTML, .SHTM, .SHTML,
.CFM, .CFML, .ASP, .CGI, .PL.
- Technique 6.2.B
- User notification of dynamic content changes
- Trigger on any programmatic object.
- Technique 6.3.A
- User notification of usability when programatic objects are disabled.
- Add APPLETs to list of programmatic objects (probably should move definition
of them to an appendix).
- Checkpoint 6.5
- Ensure that dynamic content is accessible or provide an alternative presentation
or page
- New Technique: trigger on programmatic objects.
- Technique 7.1.A
- User notification of potential screen flicker
- Clarify that it's triggered on programmatic objects.
- Checkpoint 7.3
- Until user agents allow users to freeze moving content, avoid movement in
pages
- New Technique: trigger on programmatic objects.
- Technique 7.5.A
- Remove auto-redirect attributes from META elements
- Exception to current algorithm: delay of redirect is 0 (in CONTENT attribute
value, separated from URL with a semicolon) - specifically mentioned in the
Checkpoint. If there isn't a specified delay, is it also implicitly 0? in
which case, we only need to trigger if there is a specified delay greater
than 0.
- Technique 9.1.A
- User notification of server-side image map use
- Trigger only if USEMAP not also found.
- Checkpoint 9.2
- Ensure that any element that has its own interface can be operated in a
device-independent manner
- New Technique: programmatic objects
- Checkpoint 9.3
- For scripts, specify logical event handlers rather than device-dependent
event handlers
- New Technique: suggest adding device-independent event
handlers for the following device-dependent ones (as attributes of HTML elements,
for repair, we could add them with the same attribute value as the device-dependent
one):
- "onMouseDown" check for presence of "onKeyDown"
- "onMouseUp" check for presence of "onKeyUp"
- "onClick": check for presence of "onKeyPress"
- "onMouseOver" check for presence of "onFocus"
- "onMouseOut": check for presence of "onBlur"
- "onMouseMove" {nothing, would always be an error}
- Checkpoint 9.4
- Create a logical tab order through links, form controls, and objects
- New Technique: check for TABINDEX attribute for A, AREA,
BUTTON, INPUT, OBJECT, SELECT, TEXTAREA
- Checkpoint 9.5
- Provide keyboard shortcuts to important links
- New Technique: check for ACCESSKEY attribute for A, AREA,
BUTTON, INPUT, LABEL, LEGEND, TEXTAREA. Note: only first two may be covered
by this checkpoint, I thought there was another checkpoint for form controls
but don't see it.
- Technique 10.1.A
- Check anchors for 'new window' attributes
- Trigger if A|AREA has any TARGET attribute, which will always open
a new window unless there exists a window in another frame with that name.
Plus always for "_blank" and "_new" as shown.
- Checkpoint 10.1
- Until user agents allow users to turn off spawned windows, do not cause
pop-ups or other windows to appear and do not change the current window without
informing the user
- New Technique: trigger on SCRIPT elements, unless we bother
to check for the "window.open()" command (knowing that window might
be a variable of type window).
- Checkpoint 10.2
- Until user agents support explicit associations between labels and form
controls, for all form controls with implicitly associated labels, ensure
that the label is properly positioned
- New Technique: currently, ask
- Checkpoint 10.3
- Until user agents (including assistive technologies) render side-by-side
text correctly, provide a linear text alternative (on the current page or
some other) for all tables that lay out text in parallel, word-wrapped columns
- New Technique: only trigger if table has been determined
to be a layout table, and it has more than one column
- Checkpoint 10.4
- Until user agents handle empty controls correctly, include default, place-holding
characters in edit boxes and text areas
- New Technique: following algorithms collectively would
cover this:
- presence of valid VALUE attribute for INPUT where TYPE attribute is
"text"
- for each set of INPUTs
- where TYPE attribute is "checkbox" or "radio"
and
- with the same value for NAME attribute,
one should have a SELECTED attribute
- valid content of a TEXTAREA
- among all OPTIONs in a SELECT, one must have a SELECTED attribute
- Checkpoint 10.5
- Until user agents (including assistive technologies) render adjacent links
distinctly, include non-link, printable characters (surrounded by spaces)
between adjacent links
- New Technique: between every </A> and every <A>
there must be at least one non-whitespace character surrounded by at least
one whitespace character. Whitespace is a space, tab, CR, or
- Checkpoint 11.1
- Use W3C technologies when they are available and appropriate for a task
and use the latest versions when supported
- New Technique: ask
- Checkpoint 11.2
- Avoid deprecated features of W3C technologies
- New Technique: ask, or run through a validator, or something.
We might want to check for common ones, such as replace IMG and APPLET with
OBJECT, etc.
- Checkpoint 11.3
- Provide information so that users may receive documents according to their
preferences
- New Technique: I think this is on the server end, and out
of our scope, therefore an ask
- Checkpoint 11.4
- If, after best efforts, you cannot create an accessible page, provide a
link to an alternative page that uses W3C technologies, is accessible, has
equivalent information (or functionality), and is updated as often as the
inaccessible (original) page
- New Technique: maybe we should only trigger this on pages
that do not pass priority 1? 2? Automatic checkpoints
- Checkpoint 12.4
- Associate labels explicitly with their controls
- New Technique: check for presence of LABEL element whose
FOR attribute value matches a form control's ID value
- Checkpoint 13.1
- Clearly identify the target of each link
- New Technique: check for common bad link phrases such as
"click here".
New Technique: check for validated TITLE attribute of link.
- Checkpoint 13.2
- Provide metadata to add semantic information to pages and sites
- New Technique: check for RDF in document
- Checkpoint 13.3
- Provide information about the general layout of a site, Checkpoint
13.4 - Use navigation mechanisms in a consistent manner, Checkpoint
13.5 - Provide navigation bars to highlight and give access to the navigation
mechanism
- We've talked about ways this might be done when checking several pages across
the site. Do we want to put into this Techniques or wait for later?
- Checkpoint 13.7
- If search functions are provided, enable different types of searches for
different skill levels and preferences
- Only trigger if there is a FORM element or something with an ISINDEX attribute
(I forget which element took that in really old HTML)
- Checkpoint 13.9
- Provide information about document collections
- New Technique: check for LINK element with a REL or REV
attribute whose value is a URI as one plus; presence of RDF may be another
plus
- Checkpoint 14.3
- Create a style of presentation that is consistent across pages
- If there is a linked stylesheet, would that be a clue?