###############################################################################
# Copyright (c) 2005, 2020 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. Provide its text alternative. (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. Provide its text alternative.
B_2 = No alternative text for an area element: {0}. Provide its text alternative.
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}" may be inappropriate text (space separated characters).
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. Otherwise, provide appropriate alternative text.)
B_29 = The alt attribute "{0}" has inappropriate space within a word (image).
B_30 = The alt attribute "{0}" of the input element has inappropriate spaces within a word.
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).
B_38 = "{0}" is not appropriate as an ALT attribute for an image (it contains &nbsp; characters). If the image should be ignored by assistive technology, provide alt="" and no title attribute. Otherwise, provide appropriate alternative text.

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.
C_1000.8 = Byte-Order Mark (BOM) found in non HTML5 document. Consider to remove BOM to avoid unexpected error.

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, and confirm important information is not provided only by background image. .{0}
L_11 = Font size might be fixed. \uff08unsupported font-size definitions, etc. This message is also shown in the case where font-size is unspecified.\uff09
L_12 = This text is too small and its font size might be fixed. \uff08unsupported font-size definitions, etc.\uff09