###############################################################################
# Copyright (c) 2005, 2008 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
B_0 = No alternative text for an image (If the image has no information to read out, please provide alt="".): src="{0}".
B_1 = No alternative text for an image button.
B_2 = No alternative text for an AREA: map name="{0}".
B_4 = "{0}" is not appropriate as an ALT attribute for an image.
B_5 = "{0}" is not appropriate as an ALT attribute for an image button.
B_6 = "{0}" is not appropriate as an ALT attribute for an AREA.
B_8 = This intra-page link is broken because of a missing destination anchor "{0}".
B_9 = Redundant text information: {0}
B_10 = Provide skip-links such as "skip to main".
B_12 = Provide intra-page links or use headings. Because there are no effective intra-page links or headings, arrival time to some content is over 120 seconds.
B_14 = This intra-page link, "{0}", is not accessible, since there is no readable text.
B_15 = "{0}", is inappropriate text.
B_16 = No ID attribute for an input element.
B_17 = {0} seconds is too long to get to the "skip to main" link
B_18 = This skip-link is broken because of a missing destination anchor "{0}".
B_19 = "{0}" is not appropriate for a skip-link. It should start with "skip to ..." or "jump to ...".
B_20 = Consider providing skip-links (such as "skip to main").
B_21 = There is no skip-link (such as "skip to main") in this page, but the transit time is short, {0} seconds. Make sure of the necessity of the skip-link.
B_22 = Consider providing more intra-page links or using headings. Though there are some intra-page links, the arrival time to some content is over 120 seconds.
B_23 = Consider providing more headings or using intra-page links. Though there are some headings, the arrival time to some content is over 120 seconds.
B_24 = Consider using intra-page links or providing more headings. Though there are intra-page links and headings, the arrival time to some content is over 120 seconds.
B_25 = This intra-page link, "{0}", has only TITLE attribute to read out. Consider providing text in this link.
B_26 = "{0}" is not appropriate TITLE attribute for a skip-link. It should start with "skip to ..." or "jump to ...".
B_27 = "{0}" might contain inappropriate text for ALT. (If the image has no information to read out, please provide alt="".)
B_29 = ALT attribute "{0}" has inappropriate space within a word (IMAGE).
B_30 = ALT attribute "{0}" has inappropriate space within a word (INPUT).
B_31 = ALT attribute "{0}" has inappropriate space within a word (AREA).
B_33 = This intra-page link does not have destination anchor "{0}". Please insert target anchor. (This link might work as intra-page link to page top.)
B_34 = Please don't separate characters except when you want to spell out the word. (ALT attribute "{0}").
B_35 = This intra-page link, {0} , might not be able to use. (Please use a small image with ALT instead of display:none or visibility:hidden)
B_36 = Please provide VALUE attribute for INPUT button.
B_37 = VALUE attribute "{0}" has inappropriate space within a word (INPUT).

C_1000.0 = This page seems to have several BODY elements. Please correct html.
C_1000.1 = This page seems to have HEAD element under BODY element. Please correct html.
C_1000.2 = This page seems to have several HTML elements. Please correct html.
C_1000.3 = BODY elements seems to be not properly placed. Please correct html.
C_1000.4 = This page seems to have no BODY element, or position of BODY is wrong. Please correct html.
C_1000.5 = This page seems to have no BODY (or HEAD) element, or position of BODY is wrong. Please correct html.
C_1000.6 = Make sure to use a public text identifier in a <!DOCTYPE> statement.
C_1000.7 = Please provide <!DOCTYPE> statement.
