# Package com.google.gwt.dom.client

Classes for low-level DOM programming. This package contains classes that expose the W3C standard HTML document object model for programmatic access and manipulation of HTML pages directly in client-side Java source, accounting for most browser variations. These classes provide an efficient, type-safe, and IDE-friendly alternative to writing JavaScript Native Interface (JSNI) methods for many common tasks.

These classes extend `JavaScriptObject`, which enables them to be used directly as Java types without introducing any object-oriented size or speed overhead beyond the underlying JavaScript objects they represent. Consequently, these DOM classes are efficient enough to be used directly when maximum performance is required and are lightweight enough to serve as the basic building blocks upon which widget libraries may be constructed.

- Interface Summary
  Interface | Description
  --- | ---
  Style.HasCssName | Interface to be implemented by enumerated CSS values.

- Class Summary
  Class | Description
  --- | ---
  AnchorElement | The anchor element.
  AreaElement | Client-side image map area definition.
  AudioElement | Audio element.
  BaseElement | Document base URI.
  BodyElement | The HTML document body.
  BRElement | Force a line break.
  BrowserEvents | Constant strings representing browser events.
  ButtonElement | Push button.
  CanvasElement | Canvas element.
  DataTransfer | Class representing DataTransfer interface.
  DivElement | Generic block container.
  DListElement | Definition list.
  Document | A Document is the root of the HTML hierarchy and holds the entire content.
  DOMImpl |
  DOMImplMozilla | Mozilla implementation of StandardBrowser.
  DOMImplStandard | Deprecated.
  DOMImplStandardBase | Deprecated.
  DOMImplWebkit | WebKit based implementation of `DOMImplStandardBase`.
  Element | All HTML element interfaces derive from this class.
  EventTarget | Represents the target of a JavaScript event.
  FieldSetElement | Organizes form controls into logical groups.
  FormElement | The FORM element encompasses behavior similar to a collection and an element.
  FrameElement | Create a frame.
  FrameSetElement | Create a grid of frames.
  HeadElement | Document head information.
  HeadingElement | For the H1 to H6 elements.
  HRElement | Create a horizontal rule.
  IFrameElement | Inline subwindows.
  ImageElement | Embedded image.
  InputElement | Form control.
  LabelElement | Form field label text.
  LegendElement | Provides a caption for a FIELDSET grouping.
  LIElement | List item.
  LinkElement | The LINK element specifies a link to an external resource, and defines this document's relationship to that resource (or vice versa).
  MapElement | Client-side image map.
  MediaElement | Common superclass for Audio and Video elements.
  MetaElement | This contains generic meta-information about the document.
  ModElement | Notice of modification to part of a document.
  NativeEvent | The native dom event.
  Node | The Node interface is the primary datatype for the entire Document Object Model.
  NodeCollection<T extends Node> | An ElementCollection is a list of nodes.
  NodeList<T extends Node> | The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented.
  ObjectElement | Generic embedded object.
  OListElement | Ordered list.
  OptGroupElement | Group options together in logical subdivisions.
  OptionElement | A selectable choice.
  ParagraphElement | Paragraphs.
  ParamElement | Parameters fed to the OBJECT element.
  PreElement | Preformatted text.
  QuoteElement | For the Q and BLOCKQUOTE elements.
  ScriptElement | Script statements.
  SelectElement | The select element allows the selection of an option.
  SourceElement | The SOURCE element specifies one of potentially multiple source file in a media element.
  SpanElement | Generic inline container.
  Style | Provides programmatic access to properties of the style object.
  StyleElement | Style information.
  StyleInjector | Used to add stylesheets to the document.
  StyleInjector.StyleInjectorImpl | Deprecated.
  TableCaptionElement | Table caption.
  TableCellElement | The object used to represent the TH and TD elements.
  TableColElement | Regroups the COL and COLGROUP elements.
  TableElement | The create* and delete* methods on the table allow authors to construct and modify tables.
  TableRowElement | A row in a table.
  TableSectionElement | The THEAD, TFOOT, and TBODY elements.
  Text | The Text interface represents textual content.
  TextAreaElement | Multi-line text field.
  TitleElement | The document title.
  Touch | Class representing touches.
  UListElement | Unordered list.
  VideoElement | Video element.

- Enum Summary
  Enum | Description
  --- | ---
  DataTransfer.DropEffect | Used to specify the drop effect to use on dragenter or dragover events.
  Style.BorderStyle | Enum for the border-style property.
  Style.Clear | Enum for the 'clear' CSS property.
  Style.Cursor | Enum for the cursor property.
  Style.Display | Enum for the display property.
  Style.Float | Enum for the float property.
  Style.FontStyle | Enum for the font-style property.
  Style.FontWeight | Enum for the font-weight property.
  Style.ListStyleType | Enum for the list-style-type property.
  Style.OutlineStyle | Enum for the outline-style property.
  Style.Overflow | Enum for the overflow property.
  Style.Position | Enum for the position property.
  Style.TableLayout | Enum for the table-layout property.
  Style.TextAlign | Enum for the text-align property.
  Style.TextDecoration | Enum for the 'text-decoration' CSS property.
  Style.TextJustify | Enum for the 'text-justify' CSS3 property.
  Style.TextOverflow | Enum for the 'text-overflow' CSS3 property.
  Style.TextTransform | Enum for the 'text-transform' CSS property.
  Style.Unit | CSS length units.
  Style.VerticalAlign | Enum for the vertical-align property.
  Style.Visibility | Enum for the visibility property.
  Style.WhiteSpace | Enum for the 'white-space' CSS property.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  PartialSupport | Annotation for classes that are only supported on a limited set of browsers.
  TagName | Indicates the tag name of an `Element` subclass.