Accessibility and compliance with US government 508 standards
Overview
HTML pages with forms need to be configured in a certain way to make them usable by special web-browsing software. Special software is often used by people with disabilities (i.e., a Braille browser or text-to-speech browser). The US government requires that HTML forms on its systems be configured in these special ways, as outlined in their Section 508 requirements.
The standards are:
US government section 508 standards
http://www.access-board.gov/508.htmIndustry standards on accessibility in HTML forms
http://www.w3.org/TR/WAI-WEBCONTENT/Web-based utility for checking compliance with standards
http://bobby.watchfire.com/bobby/html/en/
Accessibility in FDSE
In general, FDSE is highly accessible. It is coded to strict XHTML/CSS standards. It does not use Javascript, images, or other client-side technologies. It does not depend on frames or complex tables for layout. The content and layout have already been made as simple as possible for easy translation and customization. Please contact the author if you see any examples of output that are not easily accessible.
As of FDSE version 2.0.0.0056, all publicly-viewable pages meet the Section 508 requirements by associating a <label> tag with each form element. The publicly-viewable pages are the default search tips page, the search results page, and the optional "Add URL" form.
Unfortunately, the non-public FDSE admin pages do not meet Section 508 requirements. In the future, the author may re-code the admin pages to meet the standards.
Most FDSE users create their own search forms to place on their HTML pages. If you do this, you should review the guidelines above and use the web-based utility to confirm that your custom forms adhere to the standard. The "User Interface" page contains sample HTML forms which you can cut-and-paste to your pages. These sample forms are compliant.
Use of default text
The W3 industry standards go further than Section 508 by recommending that all text elements contain a default value:
| Bad - keyword text input has no default value | |
| Good - text input has default value |
The default behavior for FDSE is to leave the keyword text input blank on the first visit, and to echo the visitor's search term on subsequent visits.
To override this behavior and supply a sample keyword text on the first visit, go to Admin Page => User Interface => Default Search Terms and enter the sample keyword text there. The FDSE search form will then default to that string.
The "visitor Add URL" form contains text inputs for URL and email address. The URL field automatically defaults to "http://" in all configurations. By default, the email address field is blank on the first visit, and then echoes the previously-entered email address. When FDSE detects that the "Default Search Terms" setting is non-empty, it will default the email address field to "you@yourhost.tld". You can edit the actual string used by editing source file "common_admin.pl".
Auto-clearing the input
When populating the input box with a default word, it may be useful to automatically clear the input box when it receives focus. That can be done with the following Javascript code, which must be custom added to the searchform.htm template. The following example code assumes the default input is "Search":
<input name="Terms" size="25" style="font-family:monospace" id="fdse_Terms"
value="Search"
onfocus="if(this.value=='Search') this.value=''"
/>
Errors and warnings during auditing
When using the Bobby utility to audit the FDSE search tips page, the following errors and warnings may appear:
-
Warning: headers required for rows and columns in a data table
The FDSE tables holding the search tips and search form are layout tables, not data tables, and so they should not have row/column headers. You can customize the templates to remove the tables if desired.
-
Warning: when using color to convey information, provide alternatives
The color in the FDSE search form is decorative (brown table background). The color does not convey information. It can be removed by customizing the search form template.
-
Error: using absolute positioning (1 instance)
The search tips are stored in a table with absolute width 600 pixels. You can remove this width attribute or replace it with a percentage by customizing the tips template. This is not done by default because percentage-based widths vary so much with the wide variation in user screen resolutions.
-
Warning: use of FIELDSET and LEGEND tags to group form elements
The search form contains three controls. By default, they are not grouped using FIELDSET/LEGEND. The reason for this is that the form is already overly redundant, by having a "Keyword" label and "Search" submit button. To add a third descriptor like a Legend of "Search Form" would be overkill. Also, there are not multiple groups of similar elements, and so no information would be added by using a single FIELDSET to group all controls.
-
Warning: provide default, place-holding characters in edit boxes and text areas
This can be done using the "Default Search Terms" setting as described earlier in this document.
-
Warning: identify document language
The W3 guidelines recommend using a tag like
<HTML lang="en">. FDSE does not do this because the XHTML 1.0 specification differs from HTML 4.01 in this regard. The W3 standards reference the older HTML 4.01 standard. You can always add your own language attribute by customizing the header template.
History: the default search forms were updated in version 2.0.0.0056 to meet section 508 standards.
Note that if you had installed an earlier version of FDSE, and then upgraded to a newer one, your old non-compliant search form template would be retained. FDSE does not overwrite the template files during an upgrade, in case you had customized them. If you are upgrading from an earlier version, you should manually update the "searchform.htm" template to the newest version. This will ensure that you meet the standards.
"Accessibility and compliance with US government 508 standards"
http://www.xav.com/scripts/search/help/1164.html