###############################################################################
# Copyright (c) 2001, 2008 Oracle 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
A.display-label=Link
A.description=This element allows the user to navigate the content of the document

BR.display-label=Line Break
BR.description=This element is used to enforce a line break

INPUT.BUTTON.display-label=Button
INPUT.BUTTON.description=An INPUT element with TYPE=SUBMIT represents an input option, typically a button, that instructs the user agent to submit the form

INPUT.CHECKBOX.display-label=Checkbox
INPUT.CHECKBOX.description=An INPUT element with TYPE=CHECKBOX represents a boolean choice. A set of such elements with the same name represents an n-of-many choice field

INPUT.HIDDEN.display-label=Hidden Field
INPUT.HIDDEN.description=An INPUT element with TYPE=HIDDEN represents a hidden field.The user does not interact with this field; instead, the VALUE attribute specifies the value of the field

INPUT.IMAGE.display-label=Image Button
INPUT.IMAGE.description=An INPUT element with TYPE=IMAGE specifies an image resource to display, and allows input of two form fields: the x and y coordinate of a pixel chosen from the image

INPUT.PASSWORD.display-label=Password Field
INPUT.PASSWORD.description=An INPUT element with TYPE=PASSWORD is a text field as above, except that the value is obscured as it is entered

INPUT.RADIO.display-label=Radio Button
INPUT.RADIO.description=An INPUT element with TYPE=RADIO represents a boolean choice. A set of such elements with the same name represents a 1-of-many choice field

INPUT.TEXT.display-label=Text Field 
INPUT.TEXT.description=The default vaule of the TYPE attribute is TEXT, indicating a single line text entry field

FORM.display-label=Form
FORM.description=The FORM element contains a sequence of input elements, along with document structuring elements

HR.display-label=Horizontal Rule
HR.description=The HR element is a divider between sections of text; typically a full width horizontal rule or equivalent graphic

IMG.display-label=Image
IMG.description=The IMG element refers to an image or icon via a hyperlink

SELECT.display-label=Select
SELECT.description=The SELECT element constrains the form field to an enumerated list of values

TABLE.display-label=Table
TABLE.description=HTML Tables are contained within a TABLE element. The TABLE element denotes the range of the table, and uses attribute to define properties of it

TEXTAREA.display-label=Text Area
TEXTAREA.description=The TEXTAREA element represents a multi-line text field


any.dir.displayed-values.ltr=ltr (left-to-right)
any.dir.displayed-values.rtl=rtl (right-to-left)

any.frame.displayed-values.none=none (no sides, default value)
any.frame.displayed-values.above=above (top side only)
any.frame.displayed-values.below=below (bottom side only)
any.frame.displayed-values.hsides=hsides (top and bottom sides only)
any.frame.displayed-values.vsides=vsides (right and left sides only)
any.frame.displayed-values.lhs=lhs (left hand side only)
any.frame.displayed-values.rhs=rhs (right hand side only)
any.frame.displayed-values.box=box (all four sides)
any.frame.displayed-values.border=border (all four sides)

any.rules.displayed-values.none=none (no rules, default value)
any.rules.displayed-values.groups=groups (between row groups)
any.rules.displayed-values.rows=rows (between rows only)
any.rules.displayed-values.cols=cols (between columns only)
any.rules.displayed-values.all=all (between all rows and columns)

any.shape.displayed-values.default=default (entire region)
any.shape.displayed-values.rect=rect (rectangular region)
any.shape.displayed-values.circle=circle (circular region)
any.shape.displayed-values.poly=poly (polygonal region)

#categories
property.category.event=Event
property.category.language=Language
property.category.html=HTML
property.category.css=CSS
property.category.general=General
property.category.accessibility=Accessibility
property.category.visualProperty=VisualProperty
property.category.browser.specific=Browser Specific
property.category.core=Core
property.category.content=Content
property.category.data.binding=Data Binding
property.category.dynamic=Dynamic
property.category.file=File
property.category.image=Image

