###############################################################################
# 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 should be ignored by assistive technology, provide alt="" and no title attribute.): src="{0}".
B_1 = No alternative text for an image button.
B_2 = No alternative text for an area: {0}
B_4 = "{0}" is not appropriate as an alt attribute for an image.
B_5 = "{0}" may be inappropriate as an alt attribute for an image button.
B_6 = "{0}" may be inappropriate as an alt attribute for an area element.
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 should be ignored by assistive technology, provide alt="" and no title attribute.)
B_29 = The alt attribute "{0}" has inappropriate space within a word (image).
B_30 = The alt attribute "{0}" has inappropriate space within a word (input).
B_31 = The 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 = Do not 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 = The value attribute "{0}" has inappropriate space within a word (input).

C_1000.0 = This page seems to have several body elements. Please correct the HTML document.
C_1000.1 = This page seems to have head element under body element. Please correct the HTML document.
C_1000.2 = This page seems to have several html elements. Please correct the HTML document.
C_1000.3 = The body elements seems to be not properly placed. Please correct the HTML document.
C_1000.4 = This page seems to have no body element, or position of body is wrong. Please correct the HTML document.
C_1000.5 = This page seems to have no body (or HEAD) element, or position of body is wrong. Please correct the HTML document.
C_1000.6 = The public identifier specified in the DOCTYPE declaration is not well-known. validators may produce wrong results and conformance checking of the document may be impossible.
C_1000.7 = As no DOCTYPE declaration is found, validators may produce wrong results and conformance of the document is not able to be checked.

L_1.0 = Foreground and background colors are too close. {0}
L_1.1 = Foreground and background colors are too close. {0}
L_1.2 = Foreground and background colors are close. {0}
L_2 = It is difficult for weak-sighted to read these characters. (blur)
L_3 = This image has two or more components whose colors are too close.
L_4 = Do not use fixed-size font.
L_5 = This text is too small.
L_6 = This text is too small and its font size is fixed.  
L_10 = This area has background image. Please confirm the contrast between text and background.

B_40 = "{0}" may be inappropriate as an alt attribute for an applet element.