<!--
{
  "availability" : [
    "tvOS: 9.0.0 - 18.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "TVMLKit",
  "identifier" : "/documentation/TVMLKit/TVViewElement",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "TVMLKit"
    ],
    "preciseIdentifier" : "c:objc(cs)TVViewElement"
  },
  "title" : "TVViewElement"
}
-->

# TVViewElement

A representation of a read-only DOM node.

```
class TVViewElement
```

## Overview

The `TVViewElement` model object is traversed by the [`TVInterfaceFactory`](/documentation/TVMLKit/TVInterfaceFactory) factory to construct views and view controllers, and to render templates. Views and view controllers should use the available dispatch APIs to send user events to JavaScript.

## Topics

### Inspecting a View Element

[`autoHighlightIdentifier`](/documentation/TVMLKit/TVViewElement/autoHighlightIdentifier)

A string identifying the element that is initially in focus.

[`attributes`](/documentation/TVMLKit/TVViewElement/attributes)

The attributes associated with a view element.

[`children`](/documentation/TVMLKit/TVViewElement/children)

An array containing the child elements of the element currently being inspected.

[`isDisabled`](/documentation/TVMLKit/TVViewElement/isDisabled)

Boolean value indicating whether the current element being inspected is disabled.

[`identifier`](/documentation/TVMLKit/TVViewElement/identifier)

A string containing the unique identifier for an element.

[`name`](/documentation/TVMLKit/TVViewElement/name)

A string containing the element’s name.

[`parent`](/documentation/TVMLKit/TVViewElement/parent)

The parent of the current node.

[`style`](/documentation/TVMLKit/TVViewElement/style)

The style applied to an element.

[`updateType`](/documentation/TVMLKit/TVViewElement/updateType)

The value that describes any changes to the DOM tree after it has been reparsed.

[`TVElementUpdateType`](/documentation/TVMLKit/TVElementUpdateType)

Describes any changes to the DOM tree after it has been reparsed.

### Dispatching Events

[`dispatchEvent(type:canBubble:cancellable:extraInfo:completion:)`](/documentation/TVMLKit/TVViewElement/dispatchEvent(type:canBubble:cancellable:extraInfo:completion:))

Dispatches an event of a specific type to the JavaScript file.

[`TVElementEventType`](/documentation/TVMLKit/TVElementEventType)

The type of event that has been dispatched.

[`dispatchEvent(name:canBubble:cancellable:extraInfo:completion:)`](/documentation/TVMLKit/TVViewElement/dispatchEvent(name:canBubble:cancellable:extraInfo:completion:))

Dispatches a custom-named event.

### Resetting a Property’s Value

[`resetProperty(_:)`](/documentation/TVMLKit/TVViewElement/resetProperty(_:))

Resets the property to its default value.

[`TVElementResettableProperty`](/documentation/TVMLKit/TVElementResettableProperty)

The types of properties that can be reset to their default values.

### Instance Properties

[`elementData`](/documentation/TVMLKit/TVViewElement/elementData)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)