#ifndef __ACCESS_H__
#define __ACCESS_H__
#include "forward.h"
#if SUPPORT_ACCESSIBILITY_CHECKS
#define TEXTBUF_SIZE 128
struct _TidyAccessImpl;
typedef struct _TidyAccessImpl TidyAccessImpl;
struct _TidyAccessImpl
{
int PRIORITYCHK;
int counter;
tmbchar textNode[ TEXTBUF_SIZE ];
tmbchar text[ TEXTBUF_SIZE ];
int numFrames;
int HasCheckedLongDesc;
int CheckedHeaders;
int ListElements;
int OtherListElements;
Bool HasUseMap;
Bool HasName;
Bool HasMap;
Bool HasTH;
Bool HasValidFor;
Bool HasValidId;
Bool HasValidRowHeaders;
Bool HasValidColumnHeaders;
Bool HasInvalidRowHeader;
Bool HasInvalidColumnHeader;
int ForID;
};
enum accessErrorCodes
{
FIRST_ACCESS_ERR = 1000,
IMG_MISSING_ALT,
IMG_ALT_SUSPICIOUS_FILENAME,
IMG_ALT_SUSPICIOUS_FILE_SIZE,
IMG_ALT_SUSPICIOUS_PLACEHOLDER,
IMG_ALT_SUSPICIOUS_TOO_LONG,
IMG_MISSING_ALT_BULLET,
IMG_MISSING_ALT_H_RULE,
IMG_MISSING_LONGDESC_DLINK,
IMG_MISSING_DLINK,
IMG_MISSING_LONGDESC,
LONGDESC_NOT_REQUIRED,
IMG_BUTTON_MISSING_ALT,
APPLET_MISSING_ALT,
OBJECT_MISSING_ALT,
AUDIO_MISSING_TEXT_WAV,
AUDIO_MISSING_TEXT_AU,
AUDIO_MISSING_TEXT_AIFF,
AUDIO_MISSING_TEXT_SND,
AUDIO_MISSING_TEXT_RA,
AUDIO_MISSING_TEXT_RM,
FRAME_MISSING_LONGDESC,
AREA_MISSING_ALT,
SCRIPT_MISSING_NOSCRIPT,
ASCII_REQUIRES_DESCRIPTION,
IMG_MAP_SERVER_REQUIRES_TEXT_LINKS,
MULTIMEDIA_REQUIRES_TEXT,
IMG_MAP_CLIENT_MISSING_TEXT_LINKS,
INFORMATION_NOT_CONVEYED_IMAGE,
INFORMATION_NOT_CONVEYED_APPLET,
INFORMATION_NOT_CONVEYED_OBJECT,
INFORMATION_NOT_CONVEYED_SCRIPT,
INFORMATION_NOT_CONVEYED_INPUT,
COLOR_CONTRAST_TEXT,
COLOR_CONTRAST_LINK,
COLOR_CONTRAST_ACTIVE_LINK,
COLOR_CONTRAST_VISITED_LINK,
DOCTYPE_MISSING,
STYLE_SHEET_CONTROL_PRESENTATION,
HEADERS_IMPROPERLY_NESTED,
POTENTIAL_HEADER_BOLD,
POTENTIAL_HEADER_ITALICS,
POTENTIAL_HEADER_UNDERLINE,
HEADER_USED_FORMAT_TEXT,
LIST_USAGE_INVALID_UL,
LIST_USAGE_INVALID_OL,
LIST_USAGE_INVALID_LI,
INDICATE_CHANGES_IN_LANGUAGE,
LANGUAGE_NOT_IDENTIFIED,
LANGUAGE_INVALID,
DATA_TABLE_MISSING_HEADERS,
DATA_TABLE_MISSING_HEADERS_COLUMN,
DATA_TABLE_MISSING_HEADERS_ROW,
DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS,
DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS,
LAYOUT_TABLES_LINEARIZE_PROPERLY,
LAYOUT_TABLE_INVALID_MARKUP,
TABLE_MISSING_SUMMARY,
TABLE_SUMMARY_INVALID_NULL,
TABLE_SUMMARY_INVALID_SPACES,
TABLE_SUMMARY_INVALID_PLACEHOLDER,
TABLE_MISSING_CAPTION,
TABLE_MAY_REQUIRE_HEADER_ABBR,
TABLE_MAY_REQUIRE_HEADER_ABBR_NULL,
TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES,
STYLESHEETS_REQUIRE_TESTING_LINK,
STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT,
STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR,
FRAME_SRC_INVALID,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET,
FRAME_MISSING_NOFRAMES,
NOFRAMES_INVALID_NO_VALUE,
NOFRAMES_INVALID_CONTENT,
NOFRAMES_INVALID_LINK,
REMOVE_FLICKER_SCRIPT,
REMOVE_FLICKER_OBJECT,
REMOVE_FLICKER_EMBED,
REMOVE_FLICKER_APPLET,
REMOVE_FLICKER_ANIMATED_GIF,
REMOVE_BLINK_MARQUEE,
REMOVE_AUTO_REFRESH,
REMOVE_AUTO_REDIRECT,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED,
IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE,
NEW_WINDOWS_REQUIRE_WARNING_NEW,
NEW_WINDOWS_REQUIRE_WARNING_BLANK,
LABEL_NEEDS_REPOSITIONING_BEFORE_INPUT,
LABEL_NEEDS_REPOSITIONING_AFTER_INPUT,
FORM_CONTROL_REQUIRES_DEFAULT_TEXT,
FORM_CONTROL_DEFAULT_TEXT_INVALID_NULL,
FORM_CONTROL_DEFAULT_TEXT_INVALID_SPACES,
REPLACE_DEPRECATED_HTML_APPLET,
REPLACE_DEPRECATED_HTML_BASEFONT,
REPLACE_DEPRECATED_HTML_CENTER,
REPLACE_DEPRECATED_HTML_DIR,
REPLACE_DEPRECATED_HTML_FONT,
REPLACE_DEPRECATED_HTML_ISINDEX,
REPLACE_DEPRECATED_HTML_MENU,
REPLACE_DEPRECATED_HTML_S,
REPLACE_DEPRECATED_HTML_STRIKE,
REPLACE_DEPRECATED_HTML_U,
FRAME_MISSING_TITLE,
FRAME_TITLE_INVALID_NULL,
FRAME_TITLE_INVALID_SPACES,
ASSOCIATE_LABELS_EXPLICITLY,
ASSOCIATE_LABELS_EXPLICITLY_FOR,
ASSOCIATE_LABELS_EXPLICITLY_ID,
LINK_TEXT_NOT_MEANINGFUL,
LINK_TEXT_MISSING,
LINK_TEXT_TOO_LONG,
LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE,
LINK_TEXT_NOT_MEANINGFUL_MORE,
LINK_TEXT_NOT_MEANINGFUL_FOLLOW_THIS,
METADATA_MISSING,
METADATA_MISSING_LINK,
METADATA_MISSING_REDIRECT_AUTOREFRESH,
SKIPOVER_ASCII_ART,
LAST_ACCESS_ERR
};
void TY_(AccessibilityHelloMessage)( TidyDocImpl* doc );
void TY_(DisplayHTMLTableAlgorithm)( TidyDocImpl* doc );
void TY_(AccessibilityChecks)( TidyDocImpl* doc );
#endif
#endif