| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.accessibility.semantics |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## SemanticListener {#SemanticListener} |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=114)* |
| <p>A semantic provider is the client-side interface that the manager can use to enable or disable |
| semantic updates, and to ask clients to perform accessibility actions.</p> |
| |
| |
| ### HitTest {#SemanticListener.HitTest} |
| |
| <p>Asks the semantics provider to perform hit testing and return the result.</p> |
| |
| |
| |
| #### Request {#SemanticListener.HitTest_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>local_point</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.math/'>fuchsia.math</a>/<a class='link' href='../fuchsia.math/#PointF'>PointF</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#SemanticListener.HitTest_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#Hit'>Hit</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### OnAccessibilityActionRequested {#SemanticListener.OnAccessibilityActionRequested} |
| |
| <p>Asks the semantics provider to perform an accessibility action on the |
| node with node id in the front-end.</p> |
| |
| |
| |
| #### Request {#SemanticListener.OnAccessibilityActionRequested_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>action</code></td> |
| <td> |
| <code><a class='link' href='#Action'>Action</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#SemanticListener.OnAccessibilityActionRequested_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>handled</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| </tr> |
| </table> |
| |
| ### OnSemanticsModeChanged {#SemanticListener.OnSemanticsModeChanged} |
| |
| <p>Callback telling the client whether or not to send updates to the semantic tree. |
| The semantics manager will clear all state when this is called with updates_enabled = false. |
| When called with updates_enabled = true, the client should sent the full state of the |
| current semantic tree.</p> |
| |
| |
| |
| #### Request {#SemanticListener.OnSemanticsModeChanged_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>updates_enabled</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#SemanticListener.OnSemanticsModeChanged_Response} |
| |
| <EMPTY> |
| |
| ## SemanticTree {#SemanticTree} |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=72)* |
| <p>Interface to update the semantic tree for a particular view. Nodes can be added, updated or |
| deleted. Because the size of an update may exceed FIDL transfer limits, clients are responsible |
| for breaking up changes into multiple update and delete calls that conform to these limits. The |
| commit function must always be called at the end of a full update push to signal the end of an |
| update.</p> |
| <p>The client may make several calls to UpdateSemanticNodes(...) or DeleteSemanticNodes(...) |
| before calling CommitUpdates(), and must wait for the semantics manager to reply to the |
| CommitUpdates() method to know whether an update has been processed. This allows the client to |
| break up a set of changes (e.g. a re-computed semantic tree) to the semantic tree into |
| FIDL-compatible chunks, but commit them all at once.</p> |
| <p>If the semantics manager ever receives inconsistent state from the client, such as an |
| invalid tree or unrecognized parent node id, the server will close the channel. The client is |
| responsible for reconnecting and re-sending its state from scratch.</p> |
| |
| |
| ### CommitUpdates {#SemanticTree.CommitUpdates} |
| |
| <p>Commits pending changes to node tree associated with the view using UpdateSemanticNodes and |
| DeleteSemanticNodes. Updates are processed in the order in which they are received. If the |
| committed updates result in an ill-formed tree (for example a missing root node or a cycle) |
| the semantic manager will close the channel.</p> |
| |
| |
| |
| #### Request {#SemanticTree.CommitUpdates_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#SemanticTree.CommitUpdates_Response} |
| |
| <EMPTY> |
| |
| ### DeleteSemanticNodes {#SemanticTree.DeleteSemanticNodes} |
| |
| <p>Tells the root to remove nodes with node_ids from the semantic tree on the next commit.</p> |
| |
| |
| |
| #### Request {#SemanticTree.DeleteSemanticNodes_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>node_ids</code></td> |
| <td> |
| <code>vector<uint32>[2048]</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### SendSemanticEvent {#SemanticTree.SendSemanticEvent} |
| |
| <p>Sends a Semantic Event related to this tree. This applies immediately |
| and does not wait for CommitUpdates(). It is the caller's |
| responsibility to fire events on nodes that have been already commited. |
| The return callback is invoked to acknowledge that the event was received.</p> |
| |
| |
| |
| #### Request {#SemanticTree.SendSemanticEvent_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>semantic_event</code></td> |
| <td> |
| <code><a class='link' href='#SemanticEvent'>SemanticEvent</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#SemanticTree.SendSemanticEvent_Response} |
| |
| <EMPTY> |
| |
| ### UpdateSemanticNodes {#SemanticTree.UpdateSemanticNodes} |
| |
| <p>Sends new/updated nodes to the root to add to the cache on the next commit.</p> |
| |
| |
| |
| #### Request {#SemanticTree.UpdateSemanticNodes_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>nodes</code></td> |
| <td> |
| <code>vector<<a class='link' href='#Node'>Node</a>>[2048]</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## SemanticsManager {#SemanticsManager} |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=35)* |
| <p>An interface to manage connections with views for the purposes of gathering semantic information |
| about their current UI state.</p> |
| <p>The manager allows clients to register as a semantic provider for their view(s). In return the |
| semantics manager supplies an interface to update, commit and delete information from the |
| semantic tree for that view. If the semantic manager encounters an error, it will close the |
| channel, delete any associated data and rely on the client to re-register.</p> |
| |
| |
| ### RegisterViewForSemantics {#SemanticsManager.RegisterViewForSemantics} |
| |
| |
| |
| |
| #### Request {#SemanticsManager.RegisterViewForSemantics_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>view_ref</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewRef'>ViewRef</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>listener</code></td> |
| <td> |
| <code><a class='link' href='#SemanticListener'>SemanticListener</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>semantic_tree_request</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#SemanticTree'>SemanticTree</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| |
| ## **ENUMS** |
| |
| ### Action [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Action data-text="Action"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=12)* |
| <p>Represents actions that can be applied to Nodes.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="Action.DEFAULT"> |
| <td><h3 id="Action.DEFAULT" class="add-link hide-from-toc">DEFAULT</h3></td> |
| <td><code>1</code></td> |
| <td><p>The default action associated with the element.</p> |
| </td> |
| </tr> |
| <tr id="Action.SECONDARY"> |
| <td><h3 id="Action.SECONDARY" class="add-link hide-from-toc">SECONDARY</h3></td> |
| <td><code>2</code></td> |
| <td><p>The secondary action associated with the element. This may correspond to a long press |
| (touchscreens) or right click (mouse).</p> |
| </td> |
| </tr> |
| <tr id="Action.SET_FOCUS"> |
| <td><h3 id="Action.SET_FOCUS" class="add-link hide-from-toc">SET_FOCUS</h3></td> |
| <td><code>3</code></td> |
| <td><p>Set (input/non-accessibility) focus on this element.</p> |
| </td> |
| </tr> |
| <tr id="Action.SET_VALUE"> |
| <td><h3 id="Action.SET_VALUE" class="add-link hide-from-toc">SET_VALUE</h3></td> |
| <td><code>4</code></td> |
| <td><p>Set the element's value.</p> |
| </td> |
| </tr> |
| <tr id="Action.SHOW_ON_SCREEN"> |
| <td><h3 id="Action.SHOW_ON_SCREEN" class="add-link hide-from-toc">SHOW_ON_SCREEN</h3></td> |
| <td><code>5</code></td> |
| <td><p>Scroll node to make it visible.</p> |
| </td> |
| </tr> |
| <tr id="Action.DECREMENT"> |
| <td><h3 id="Action.DECREMENT" class="add-link hide-from-toc">DECREMENT</h3></td> |
| <td><code>6</code></td> |
| <td><p>Decrement a slider by one step value. The step size is defined by the |
| owner of the semantic node that executes this action. For example, a |
| volume slider may want to make steps 1, 2, 3, while a time slider may |
| want to skip 30 seconds each step change.</p> |
| </td> |
| </tr> |
| <tr id="Action.INCREMENT"> |
| <td><h3 id="Action.INCREMENT" class="add-link hide-from-toc">INCREMENT</h3></td> |
| <td><code>7</code></td> |
| <td><p>Increment a slider by one step value. The step size is defined by the |
| owner of the semantic node that executes this action. For example, a |
| volume slider may want to make steps 1, 2, 3, while a time slider may |
| want to skip 30 seconds each step change.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### CheckedState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#CheckedState data-text="CheckedState"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=264)* |
| <p>Represents the state of a UI checkbox.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="CheckedState.NONE"> |
| <td><h3 id="CheckedState.NONE" class="add-link hide-from-toc">NONE</h3></td> |
| <td><code>1</code></td> |
| <td><p>Used when no data is entered or the element is not a check box.</p> |
| </td> |
| </tr> |
| <tr id="CheckedState.CHECKED"> |
| <td><h3 id="CheckedState.CHECKED" class="add-link hide-from-toc">CHECKED</h3></td> |
| <td><code>2</code></td> |
| <td><p>Checked</p> |
| </td> |
| </tr> |
| <tr id="CheckedState.UNCHECKED"> |
| <td><h3 id="CheckedState.UNCHECKED" class="add-link hide-from-toc">UNCHECKED</h3></td> |
| <td><code>3</code></td> |
| <td><p>Unchecked</p> |
| </td> |
| </tr> |
| <tr id="CheckedState.MIXED"> |
| <td><h3 id="CheckedState.MIXED" class="add-link hide-from-toc">MIXED</h3></td> |
| <td><code>4</code></td> |
| <td><p>Indeterminate state</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### LabelOrigin [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#LabelOrigin data-text="LabelOrigin"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=110)* |
| <p>The possible origins of a label.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="LabelOrigin.UNITIALIZED"> |
| <td><h3 id="LabelOrigin.UNITIALIZED" class="add-link hide-from-toc">UNITIALIZED</h3></td> |
| <td><code>1</code></td> |
| <td><p>The node does not have a label yet.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.ATTRIBUTE"> |
| <td><h3 id="LabelOrigin.ATTRIBUTE" class="add-link hide-from-toc">ATTRIBUTE</h3></td> |
| <td><code>2</code></td> |
| <td><p>An attribute of this element in the runtime UI explicitly sets its |
| label. For example, an element with aria-label.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.ATTRIBUTE_EMPTY"> |
| <td><h3 id="LabelOrigin.ATTRIBUTE_EMPTY" class="add-link hide-from-toc">ATTRIBUTE_EMPTY</h3></td> |
| <td><code>3</code></td> |
| <td><p>An attribute of this element in the runtime UI explicitly sets its |
| label to be empty.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.CAPTION"> |
| <td><h3 id="LabelOrigin.CAPTION" class="add-link hide-from-toc">CAPTION</h3></td> |
| <td><code>4</code></td> |
| <td><p>This label serves as the caption for a table-like element. Because some |
| assistive technology have special modes to deal with tables, a runtime |
| should mark its label with this type of origin so that users know what |
| the table is about when they navigate in the table mode. For example, |
| a <caption> html tag sets the label.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.CONTENTS"> |
| <td><h3 id="LabelOrigin.CONTENTS" class="add-link hide-from-toc">CONTENTS</h3></td> |
| <td><code>5</code></td> |
| <td><p>This node receives its label from the contents present in the |
| application. For example, text from a web page becomes the label of |
| this node.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.PLACEHOLDER"> |
| <td><h3 id="LabelOrigin.PLACEHOLDER" class="add-link hide-from-toc">PLACEHOLDER</h3></td> |
| <td><code>6</code></td> |
| <td><p>An element that can receive user entered value and has a suggested |
| input. For example, the placeholder attribute on an html input field.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.RELATED_ELEMENT"> |
| <td><h3 id="LabelOrigin.RELATED_ELEMENT" class="add-link hide-from-toc">RELATED_ELEMENT</h3></td> |
| <td><code>7</code></td> |
| <td><p>Another element provides the label for this element. For example, via |
| aria-labeledby.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.TITLE"> |
| <td><h3 id="LabelOrigin.TITLE" class="add-link hide-from-toc">TITLE</h3></td> |
| <td><code>8</code></td> |
| <td><p>This element's label is represented by a visual tooltip. For example, |
| as if from a <title> html tag.</p> |
| </td> |
| </tr> |
| <tr id="LabelOrigin.VALUE"> |
| <td><h3 id="LabelOrigin.VALUE" class="add-link hide-from-toc">VALUE</h3></td> |
| <td><code>9</code></td> |
| <td><p>The label comes from an user-entered value.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Role [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Role data-text="Role"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=37)* |
| <p>Represents a role of an element on a UI.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="Role.UNKNOWN"> |
| <td><h3 id="Role.UNKNOWN" class="add-link hide-from-toc">UNKNOWN</h3></td> |
| <td><code>1</code></td> |
| <td><p>Role used to represent elements which role is not currently supported.</p> |
| </td> |
| </tr> |
| <tr id="Role.BUTTON"> |
| <td><h3 id="Role.BUTTON" class="add-link hide-from-toc">BUTTON</h3></td> |
| <td><code>2</code></td> |
| <td><p>Something on screen that can be clicked/activated, that has a single function.</p> |
| </td> |
| </tr> |
| <tr id="Role.HEADER"> |
| <td><h3 id="Role.HEADER" class="add-link hide-from-toc">HEADER</h3></td> |
| <td><code>3</code></td> |
| <td><p>Header text, e.g. something tagged <h1> in HTML.</p> |
| </td> |
| </tr> |
| <tr id="Role.IMAGE"> |
| <td><h3 id="Role.IMAGE" class="add-link hide-from-toc">IMAGE</h3></td> |
| <td><code>4</code></td> |
| <td><p>An image or graphic.</p> |
| </td> |
| </tr> |
| <tr id="Role.TEXT_FIELD"> |
| <td><h3 id="Role.TEXT_FIELD" class="add-link hide-from-toc">TEXT_FIELD</h3></td> |
| <td><code>5</code></td> |
| <td><p>A field that can receive text input.</p> |
| </td> |
| </tr> |
| <tr id="Role.SLIDER"> |
| <td><h3 id="Role.SLIDER" class="add-link hide-from-toc">SLIDER</h3></td> |
| <td><code>6</code></td> |
| <td><p>A slider, e.g. a volume slider or a time slider of a video.</p> |
| </td> |
| </tr> |
| <tr id="Role.LINK"> |
| <td><h3 id="Role.LINK" class="add-link hide-from-toc">LINK</h3></td> |
| <td><code>7</code></td> |
| <td><p>A link, e.g. a link on a webpage.</p> |
| </td> |
| </tr> |
| <tr id="Role.CHECK_BOX"> |
| <td><h3 id="Role.CHECK_BOX" class="add-link hide-from-toc">CHECK_BOX</h3></td> |
| <td><code>8</code></td> |
| <td><p>A check box that can be toggled.</p> |
| </td> |
| </tr> |
| <tr id="Role.RADIO_BUTTON"> |
| <td><h3 id="Role.RADIO_BUTTON" class="add-link hide-from-toc">RADIO_BUTTON</h3></td> |
| <td><code>9</code></td> |
| <td><p>A radio button that selects an option among a group of options.</p> |
| </td> |
| </tr> |
| <tr id="Role.LIST"> |
| <td><h3 id="Role.LIST" class="add-link hide-from-toc">LIST</h3></td> |
| <td><code>10</code></td> |
| <td><p>Role used to represent lists.</p> |
| </td> |
| </tr> |
| <tr id="Role.LIST_ELEMENT"> |
| <td><h3 id="Role.LIST_ELEMENT" class="add-link hide-from-toc">LIST_ELEMENT</h3></td> |
| <td><code>11</code></td> |
| <td><p>Role used to represent an element in a list, including its marker and |
| its content. For example, a element tagged <li>, or an element with the |
| ARIA listitem role.</p> |
| </td> |
| </tr> |
| <tr id="Role.LIST_ELEMENT_MARKER"> |
| <td><h3 id="Role.LIST_ELEMENT_MARKER" class="add-link hide-from-toc">LIST_ELEMENT_MARKER</h3></td> |
| <td><code>12</code></td> |
| <td><p>Role used to represent a list marker (e.g. a bullet point, number, roman |
| numeral, etc.).</p> |
| </td> |
| </tr> |
| <tr id="Role.STATIC_TEXT"> |
| <td><h3 id="Role.STATIC_TEXT" class="add-link hide-from-toc">STATIC_TEXT</h3></td> |
| <td><code>13</code></td> |
| <td><p>Role used to represent immutable text.</p> |
| </td> |
| </tr> |
| <tr id="Role.TOGGLE_SWITCH"> |
| <td><h3 id="Role.TOGGLE_SWITCH" class="add-link hide-from-toc">TOGGLE_SWITCH</h3></td> |
| <td><code>14</code></td> |
| <td><p>Role used to represent toggle switch.</p> |
| </td> |
| </tr> |
| <tr id="Role.TABLE"> |
| <td><h3 id="Role.TABLE" class="add-link hide-from-toc">TABLE</h3></td> |
| <td><code>15</code></td> |
| <td><p>Role used to represent a table of elements.</p> |
| </td> |
| </tr> |
| <tr id="Role.GRID"> |
| <td><h3 id="Role.GRID" class="add-link hide-from-toc">GRID</h3></td> |
| <td><code>16</code></td> |
| <td><p>Role used to represent a grid. For example, an element with the |
| aria-grid role.</p> |
| </td> |
| </tr> |
| <tr id="Role.TABLE_ROW"> |
| <td><h3 id="Role.TABLE_ROW" class="add-link hide-from-toc">TABLE_ROW</h3></td> |
| <td><code>17</code></td> |
| <td><p>Role used to represent the row of a table.</p> |
| </td> |
| </tr> |
| <tr id="Role.CELL"> |
| <td><h3 id="Role.CELL" class="add-link hide-from-toc">CELL</h3></td> |
| <td><code>18</code></td> |
| <td><p>Role used to represent the cell of a table or grid.</p> |
| </td> |
| </tr> |
| <tr id="Role.COLUMN_HEADER"> |
| <td><h3 id="Role.COLUMN_HEADER" class="add-link hide-from-toc">COLUMN_HEADER</h3></td> |
| <td><code>19</code></td> |
| <td><p>Role used to represent a column header. For example, an element with |
| the html tag <th>.</p> |
| </td> |
| </tr> |
| <tr id="Role.ROW_GROUP"> |
| <td><h3 id="Role.ROW_GROUP" class="add-link hide-from-toc">ROW_GROUP</h3></td> |
| <td><code>20</code></td> |
| <td><p>Role used to represent an aria-rowgroup-like element.</p> |
| </td> |
| </tr> |
| <tr id="Role.PARAGRAPH"> |
| <td><h3 id="Role.PARAGRAPH" class="add-link hide-from-toc">PARAGRAPH</h3></td> |
| <td><code>21</code></td> |
| <td><p>Role used to represent a paragraph of text.</p> |
| </td> |
| </tr> |
| <tr id="Role.SEARCH_BOX"> |
| <td><h3 id="Role.SEARCH_BOX" class="add-link hide-from-toc">SEARCH_BOX</h3></td> |
| <td><code>22</code></td> |
| <td></td> |
| </tr> |
| <tr id="Role.TEXT_FIELD_WITH_COMBO_BOX"> |
| <td><h3 id="Role.TEXT_FIELD_WITH_COMBO_BOX" class="add-link hide-from-toc">TEXT_FIELD_WITH_COMBO_BOX</h3></td> |
| <td><code>23</code></td> |
| <td></td> |
| </tr> |
| <tr id="Role.ROW_HEADER"> |
| <td><h3 id="Role.ROW_HEADER" class="add-link hide-from-toc">ROW_HEADER</h3></td> |
| <td><code>24</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### ToggledState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ToggledState data-text="ToggledState"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=276)* |
| <p>Represents the state of a UI toggle switch.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ToggledState.ON"> |
| <td><h3 id="ToggledState.ON" class="add-link hide-from-toc">ON</h3></td> |
| <td><code>1</code></td> |
| <td><p>Toggle switch is on.</p> |
| </td> |
| </tr> |
| <tr id="ToggledState.OFF"> |
| <td><h3 id="ToggledState.OFF" class="add-link hide-from-toc">OFF</h3></td> |
| <td><code>2</code></td> |
| <td><p>Toggle switch is off.</p> |
| </td> |
| </tr> |
| <tr id="ToggledState.INDETERMINATE"> |
| <td><h3 id="ToggledState.INDETERMINATE" class="add-link hide-from-toc">INDETERMINATE</h3></td> |
| <td><code>3</code></td> |
| <td><p>Toggle switch is in Indeterminate state.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **TABLES** |
| |
| ### AnnounceEvent {#AnnounceEvent data-text="AnnounceEvent"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=52)* |
| <p>An announce event is one where a message is sent to a Semantic Tree, |
| informing a change of some global state in the application. Because this |
| announcement can be disruptive to assistive technology, it should be used |
| sparingly.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="AnnounceEvent.message"> |
| <td><h3 id="AnnounceEvent.message" class="add-link hide-from-toc">1</h3></td> |
| <td><code>message</code></td> |
| <td> |
| <code>string[16384]</code> |
| </td> |
| <td><p>A message describing the change in the application. This message is expected to be localized in the language that the application is in.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Attributes {#Attributes data-text="Attributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=213)* |
| <p>An attribute is an essential property to describe an element. Unlike states, attributes do not |
| change over the life of an element. |
| Example: A button with a label attribute 'ok' should never change to 'cancel', as this is not |
| the same element.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Attributes.label"> |
| <td><h3 id="Attributes.label" class="add-link hide-from-toc">1</h3></td> |
| <td><code>label</code></td> |
| <td> |
| <code>string[16384]</code> |
| </td> |
| <td><p>The primary label for an element. If longer than MAX_LABEL_SIZE the client is responsible |
| for truncating the label.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.secondary_label"> |
| <td><h3 id="Attributes.secondary_label" class="add-link hide-from-toc">2</h3></td> |
| <td><code>secondary_label</code></td> |
| <td> |
| <code>string[16384]</code> |
| </td> |
| <td><p>The secondary label for an element. If longer than MAX_LABEL_SIZE the client is responsible |
| for truncating the label.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.secondary_action_description"> |
| <td><h3 id="Attributes.secondary_action_description" class="add-link hide-from-toc">3</h3></td> |
| <td><code>secondary_action_description</code></td> |
| <td> |
| <code>string[16384]</code> |
| </td> |
| <td><p>A description of what the secondary action on a node (equivalent to long press or right click) should do.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.range"> |
| <td><h3 id="Attributes.range" class="add-link hide-from-toc">4</h3></td> |
| <td><code>range</code></td> |
| <td> |
| <code><a class='link' href='#RangeAttributes'>RangeAttributes</a></code> |
| </td> |
| <td><p>The range attributes are filled if the element is a slider / a range |
| control.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.set"> |
| <td><h3 id="Attributes.set" class="add-link hide-from-toc">5</h3></td> |
| <td><code>set</code></td> |
| <td> |
| <code><a class='link' href='#SetAttributes'>SetAttributes</a></code> |
| </td> |
| <td><p>Set attributes are filled if the element is part of some type of set. |
| For example, radio buttons that are related are part of the same set.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.list_attributes"> |
| <td><h3 id="Attributes.list_attributes" class="add-link hide-from-toc">6</h3></td> |
| <td><code>list_attributes</code></td> |
| <td> |
| <code><a class='link' href='#SetAttributes'>SetAttributes</a></code> |
| </td> |
| <td><p>The list attributes should be filled if the node has the LIST role. |
| Note that only <code>size</code> and <code>set_element_ids</code> should be filled.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.list_element_attributes"> |
| <td><h3 id="Attributes.list_element_attributes" class="add-link hide-from-toc">7</h3></td> |
| <td><code>list_element_attributes</code></td> |
| <td> |
| <code><a class='link' href='#SetAttributes'>SetAttributes</a></code> |
| </td> |
| <td><p>The list element attributes should be filled if the node has a |
| LIST_ELEMENT role and descends from a node with a LIST role. |
| Note that only <code>index</code> should be filled.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.hierarchical_level"> |
| <td><h3 id="Attributes.hierarchical_level" class="add-link hide-from-toc">8</h3></td> |
| <td><code>hierarchical_level</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The hierarchical level of an element. For example, a header can be of |
| level 1 to 6 in html or markdown.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.table_attributes"> |
| <td><h3 id="Attributes.table_attributes" class="add-link hide-from-toc">9</h3></td> |
| <td><code>table_attributes</code></td> |
| <td> |
| <code><a class='link' href='#TableAttributes'>TableAttributes</a></code> |
| </td> |
| <td><p>The table attributes are filled when the element is a table.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.label_origin"> |
| <td><h3 id="Attributes.label_origin" class="add-link hide-from-toc">10</h3></td> |
| <td><code>label_origin</code></td> |
| <td> |
| <code><a class='link' href='#LabelOrigin'>LabelOrigin</a></code> |
| </td> |
| <td><p>The origin of the label of this element.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.is_keyboard_key"> |
| <td><h3 id="Attributes.is_keyboard_key" class="add-link hide-from-toc">11</h3></td> |
| <td><code>is_keyboard_key</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the element is part of a virtual keyboard. For example, a key |
| on an onscreen keyboard.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.table_row_attributes"> |
| <td><h3 id="Attributes.table_row_attributes" class="add-link hide-from-toc">12</h3></td> |
| <td><code>table_row_attributes</code></td> |
| <td> |
| <code><a class='link' href='#TableRowAttributes'>TableRowAttributes</a></code> |
| </td> |
| <td><p>The table row attributes are filled when the element is a table row.</p> |
| </td> |
| </tr> |
| <tr id="Attributes.table_cell_attributes"> |
| <td><h3 id="Attributes.table_cell_attributes" class="add-link hide-from-toc">13</h3></td> |
| <td><code>table_cell_attributes</code></td> |
| <td> |
| <code><a class='link' href='#TableCellAttributes'>TableCellAttributes</a></code> |
| </td> |
| <td><p>The table cell attributes are filled when the element is a table cell.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Hit {#Hit data-text="Hit"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=102)* |
| <p>Results of hit testing on a view's semantic tree which is implemented by |
| Runtimes(like Flutter/Chrome) and sent to Accessibility.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Hit.node_id"> |
| <td><h3 id="Hit.node_id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Unique ID that represents a node in a particular UI. |
| Zero is assumed to be the root node and the only entry point to the tree. |
| node_id will not be filled when there is no hit.</p> |
| </td> |
| </tr> |
| <tr id="Hit.path_from_root"> |
| <td><h3 id="Hit.path_from_root" class="add-link hide-from-toc">2</h3></td> |
| <td><code>path_from_root</code></td> |
| <td> |
| <code>vector<uint32>[256]</code> |
| </td> |
| <td><p>The ordered list of node ids which represent path from root node to the hit node.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Node {#Node data-text="Node"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=336)* |
| <p>The Node represents a semantic element on an interface. This may |
| be a button, a text field, a checkbox or any element that has a relevant |
| semantic meaning so that assistive technology can understand the current UI.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Node.node_id"> |
| <td><h3 id="Node.node_id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Unique ID that represents a node in a particular UI. |
| Zero is assumed to be the root node and the only entry point to the tree. |
| No forest is allowed.</p> |
| </td> |
| </tr> |
| <tr id="Node.role"> |
| <td><h3 id="Node.role" class="add-link hide-from-toc">2</h3></td> |
| <td><code>role</code></td> |
| <td> |
| <code><a class='link' href='#Role'>Role</a></code> |
| </td> |
| <td><p>Role of this element, e.g. button, checkbox, etc.</p> |
| </td> |
| </tr> |
| <tr id="Node.states"> |
| <td><h3 id="Node.states" class="add-link hide-from-toc">3</h3></td> |
| <td><code>states</code></td> |
| <td> |
| <code><a class='link' href='#States'>States</a></code> |
| </td> |
| <td><p>A table of states of this object, e.g. checked, editable, etc.</p> |
| </td> |
| </tr> |
| <tr id="Node.attributes"> |
| <td><h3 id="Node.attributes" class="add-link hide-from-toc">4</h3></td> |
| <td><code>attributes</code></td> |
| <td> |
| <code><a class='link' href='#Attributes'>Attributes</a></code> |
| </td> |
| <td><p>A table of attributes of this node.</p> |
| </td> |
| </tr> |
| <tr id="Node.actions"> |
| <td><h3 id="Node.actions" class="add-link hide-from-toc">5</h3></td> |
| <td><code>actions</code></td> |
| <td> |
| <code>vector<<a class='link' href='#Action'>Action</a>>[100]</code> |
| </td> |
| <td><p>A list of actions that can be performed on this node.</p> |
| </td> |
| </tr> |
| <tr id="Node.child_ids"> |
| <td><h3 id="Node.child_ids" class="add-link hide-from-toc">6</h3></td> |
| <td><code>child_ids</code></td> |
| <td> |
| <code>vector<uint32>[20000]</code> |
| </td> |
| <td><p>The list of child IDs of this node, in traversal order. Runtimes supplying semantic tree |
| information are responsible for ensuring the tree does not contain cycles. Each node may |
| have only one parent.</p> |
| </td> |
| </tr> |
| <tr id="Node.location"> |
| <td><h3 id="Node.location" class="add-link hide-from-toc">7</h3></td> |
| <td><code>location</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.gfx/'>fuchsia.ui.gfx</a>/<a class='link' href='../fuchsia.ui.gfx/#BoundingBox'>BoundingBox</a></code> |
| </td> |
| <td><p>Local bounding box of this element.</p> |
| </td> |
| </tr> |
| <tr id="Node.transform"> |
| <td><h3 id="Node.transform" class="add-link hide-from-toc">8</h3></td> |
| <td><code>transform</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.gfx/'>fuchsia.ui.gfx</a>/<a class='link' href='../fuchsia.ui.gfx/#mat4'>mat4</a></code> |
| </td> |
| <td><p>Transform from this node's coordinate space to its container's space. 4x4 for compatibility |
| with scenic. This matrix is required to have the form</p> |
| <p>[ Sx 0 0 Tx ] |
| [ 0 Sy 0 Ty ] |
| [ 0 0 Sz Tz ] |
| [ 0 0 0 1 ]</p> |
| <p>where Sx, Sy, and Sz are scale factors and Tx, Ty, Tz are the translation factors for |
| the x, y, and z components.</p> |
| <p>TODO(fxb.dev/87181): Deprecate.</p> |
| </td> |
| </tr> |
| <tr id="Node.container_id"> |
| <td><h3 id="Node.container_id" class="add-link hide-from-toc">9</h3></td> |
| <td><code>container_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Node ID of the ancestor of this node that is used as the target of |transform|. |
| If not present, this is interpreted as this node's parent.</p> |
| </td> |
| </tr> |
| <tr id="Node.node_to_container_transform"> |
| <td><h3 id="Node.node_to_container_transform" class="add-link hide-from-toc">10</h3></td> |
| <td><code>node_to_container_transform</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.gfx/'>fuchsia.ui.gfx</a>/<a class='link' href='../fuchsia.ui.gfx/#mat4'>mat4</a></code> |
| </td> |
| <td><p>NOTE: We are deprecating <code>transform</code> in favor of <code>node_to_container_transform</code>. Clients |
| must NOT set both fields.</p> |
| <p>Transform from this node's coordinate space to its container's space. If the <code>container_id</code> |
| field is set, then that id specifies the container node. Otherwise, this node's parent is |
| the container node.</p> |
| <p>Additionally, if <code>container_id</code> is set, the fuchsia accessibility manager will |
| post-translate this node's coordinate space by its container's <code>location.min</code> after |
| applying <code>node_to_container_transform</code> when converting to the container's coordinate space. |
| If <code>container_id</code> is unset, this post-translation will NOT be applied.</p> |
| <p>4x4 for compatibility with scenic. This matrix is required to have the form:</p> |
| <p>[ Sx 0 0 Tx ] |
| [ 0 Sy 0 Ty ] |
| [ 0 0 Sz Tz ] |
| [ 0 0 0 1 ]</p> |
| <p>where Sx, Sy, and Sz are scale factors and Tx, Ty, Tz are the translation factors for |
| the x, y, and z components.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### RangeAttributes {#RangeAttributes data-text="RangeAttributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=143)* |
| <p>Slider / range control attributes.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="RangeAttributes.min_value"> |
| <td><h3 id="RangeAttributes.min_value" class="add-link hide-from-toc">1</h3></td> |
| <td><code>min_value</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>The minimum value a range control element can take.</p> |
| </td> |
| </tr> |
| <tr id="RangeAttributes.max_value"> |
| <td><h3 id="RangeAttributes.max_value" class="add-link hide-from-toc">2</h3></td> |
| <td><code>max_value</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>The maximum value a range control element can take.</p> |
| </td> |
| </tr> |
| <tr id="RangeAttributes.step_delta"> |
| <td><h3 id="RangeAttributes.step_delta" class="add-link hide-from-toc">3</h3></td> |
| <td><code>step_delta</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>The step delta the element applies when the action DECREMENT or |
| INCREMENT are invoked.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### SetAttributes {#SetAttributes data-text="SetAttributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=156)* |
| <p>Set attributes that control how an element is connected to others in the |
| same set. For example, a group of radio buttons in html containing the same |
| name attribute are part of the same set.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="SetAttributes.size"> |
| <td><h3 id="SetAttributes.size" class="add-link hide-from-toc">1</h3></td> |
| <td><code>size</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Size of the set.</p> |
| </td> |
| </tr> |
| <tr id="SetAttributes.index"> |
| <td><h3 id="SetAttributes.index" class="add-link hide-from-toc">2</h3></td> |
| <td><code>index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Element index in the set, starting from one.</p> |
| </td> |
| </tr> |
| <tr id="SetAttributes.set_element_ids"> |
| <td><h3 id="SetAttributes.set_element_ids" class="add-link hide-from-toc">3</h3></td> |
| <td><code>set_element_ids</code></td> |
| <td> |
| <code>vector<uint32>[100]</code> |
| </td> |
| <td><p>Node ids of other elements in this set.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### States {#States data-text="States"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=288)* |
| <p>A state is a dynamic property of an element that may change in response to |
| user action or automated processes. Thus, they are different from attributes |
| in an important point, which is frequency of change.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="States.checked"> |
| <td><h3 id="States.checked" class="add-link hide-from-toc">1</h3></td> |
| <td><code>checked</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>DEPRECATED</p> |
| </td> |
| </tr> |
| <tr id="States.checked_state"> |
| <td><h3 id="States.checked_state" class="add-link hide-from-toc">2</h3></td> |
| <td><code>checked_state</code></td> |
| <td> |
| <code><a class='link' href='#CheckedState'>CheckedState</a></code> |
| </td> |
| <td><p>State of a checkbox. |
| This field is mutually exclusive with ToggledState.</p> |
| </td> |
| </tr> |
| <tr id="States.selected"> |
| <td><h3 id="States.selected" class="add-link hide-from-toc">3</h3></td> |
| <td><code>selected</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the element is currently selected.</p> |
| </td> |
| </tr> |
| <tr id="States.hidden"> |
| <td><h3 id="States.hidden" class="add-link hide-from-toc">4</h3></td> |
| <td><code>hidden</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the element is currently hidden or marked invisible by the framework.</p> |
| </td> |
| </tr> |
| <tr id="States.value"> |
| <td><h3 id="States.value" class="add-link hide-from-toc">5</h3></td> |
| <td><code>value</code></td> |
| <td> |
| <code>string[16384]</code> |
| </td> |
| <td><p>The user-entered value of the element, if applicable. If longer than MAX_VALUE_SIZE the |
| client is responsible for truncating.</p> |
| </td> |
| </tr> |
| <tr id="States.range_value"> |
| <td><h3 id="States.range_value" class="add-link hide-from-toc">6</h3></td> |
| <td><code>range_value</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>If the element is a slider or a range control, this field contains the |
| current value. Note that this is not the same as the value field above, |
| as this is generated by the client and just adjusted by the user.</p> |
| </td> |
| </tr> |
| <tr id="States.viewport_offset"> |
| <td><h3 id="States.viewport_offset" class="add-link hide-from-toc">7</h3></td> |
| <td><code>viewport_offset</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.gfx/'>fuchsia.ui.gfx</a>/<a class='link' href='../fuchsia.ui.gfx/#vec2'>vec2</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="States.toggled_state"> |
| <td><h3 id="States.toggled_state" class="add-link hide-from-toc">8</h3></td> |
| <td><code>toggled_state</code></td> |
| <td> |
| <code><a class='link' href='#ToggledState'>ToggledState</a></code> |
| </td> |
| <td><p>State of a toggle switch. |
| This field must only be set if the element is a toggle switch element |
| and is mutually exclusive with CheckedState.</p> |
| </td> |
| </tr> |
| <tr id="States.focusable"> |
| <td><h3 id="States.focusable" class="add-link hide-from-toc">9</h3></td> |
| <td><code>focusable</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether this element is focusable in the UI. Note that this is not the |
| a11y focus, but the input focus.</p> |
| </td> |
| </tr> |
| <tr id="States.has_input_focus"> |
| <td><h3 id="States.has_input_focus" class="add-link hide-from-toc">10</h3></td> |
| <td><code>has_input_focus</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether this element has the input focus. This corresponds to the |
| system focus. Only one element can have this value set. The behavior is |
| undetermined if more than one node sets this value to 'true'.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TableAttributes {#TableAttributes data-text="TableAttributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=166)* |
| <p>Attributes that control how a table cell node is interpreted.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TableAttributes.column_span"> |
| <td><h3 id="TableAttributes.column_span" class="add-link hide-from-toc">1</h3></td> |
| <td><code>column_span</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The number of columns this table cell spans.</p> |
| <p><b>DEPRECATED </b>- Use TableCellAttributes for cell nodes instead</p></td> |
| </tr> |
| <tr id="TableAttributes.row_span"> |
| <td><h3 id="TableAttributes.row_span" class="add-link hide-from-toc">2</h3></td> |
| <td><code>row_span</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The number of rows this table cell spans.</p> |
| <p><b>DEPRECATED </b>- Use TableCellAttributes for cell nodes instead</p></td> |
| </tr> |
| <tr id="TableAttributes.number_of_rows"> |
| <td><h3 id="TableAttributes.number_of_rows" class="add-link hide-from-toc">3</h3></td> |
| <td><code>number_of_rows</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Number of rows in this table.</p> |
| </td> |
| </tr> |
| <tr id="TableAttributes.number_of_columns"> |
| <td><h3 id="TableAttributes.number_of_columns" class="add-link hide-from-toc">4</h3></td> |
| <td><code>number_of_columns</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Number of columns in this table.</p> |
| </td> |
| </tr> |
| <tr id="TableAttributes.column_header_ids"> |
| <td><h3 id="TableAttributes.column_header_ids" class="add-link hide-from-toc">5</h3></td> |
| <td><code>column_header_ids</code></td> |
| <td> |
| <code>vector<uint32>[100]</code> |
| </td> |
| <td><p>Node ids of the table's column headers.</p> |
| </td> |
| </tr> |
| <tr id="TableAttributes.row_header_ids"> |
| <td><h3 id="TableAttributes.row_header_ids" class="add-link hide-from-toc">6</h3></td> |
| <td><code>row_header_ids</code></td> |
| <td> |
| <code>vector<uint32>[100]</code> |
| </td> |
| <td><p>Node ids of the table's row headers.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TableCellAttributes {#TableCellAttributes data-text="TableCellAttributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=195)* |
| <p>Attributes that control how a table cell is interpreted.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TableCellAttributes.row_index"> |
| <td><h3 id="TableCellAttributes.row_index" class="add-link hide-from-toc">1</h3></td> |
| <td><code>row_index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Row-index of this cell.</p> |
| </td> |
| </tr> |
| <tr id="TableCellAttributes.column_index"> |
| <td><h3 id="TableCellAttributes.column_index" class="add-link hide-from-toc">2</h3></td> |
| <td><code>column_index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Column-index of this cell.</p> |
| </td> |
| </tr> |
| <tr id="TableCellAttributes.row_span"> |
| <td><h3 id="TableCellAttributes.row_span" class="add-link hide-from-toc">3</h3></td> |
| <td><code>row_span</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The number of rows this table cell spans.</p> |
| </td> |
| </tr> |
| <tr id="TableCellAttributes.column_span"> |
| <td><h3 id="TableCellAttributes.column_span" class="add-link hide-from-toc">4</h3></td> |
| <td><code>column_span</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The number of columns this table cell spans.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### TableRowAttributes {#TableRowAttributes data-text="TableRowAttributes"} |
| |
| |
| *Defined in [fuchsia.accessibility.semantics/node.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=189)* |
| <p>Attributes that control how a table row node is interpreted.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="TableRowAttributes.row_index"> |
| <td><h3 id="TableRowAttributes.row_index" class="add-link hide-from-toc">1</h3></td> |
| <td><code>row_index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Table row index.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **UNIONS** |
| |
| ### SemanticEvent [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SemanticEvent data-text="SemanticEvent"} |
| *Defined in [fuchsia.accessibility.semantics/semantics_manager.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=44)* |
| <p>Represents a Semantic Event that is fired on a Semantic Tree.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="SemanticEvent.announce"> |
| <td><h3 id="SemanticEvent.announce" class="add-link hide-from-toc">1</h3></td> |
| <td><code>announce</code></td> |
| <td> |
| <code><a class='link' href='#AnnounceEvent'>AnnounceEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **CONSTANTS** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr> |
| <tr id="MAX_FAN_OUT"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=13">MAX_FAN_OUT</a></td> |
| <td> |
| <code>20000</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum number of children for a node in the semantic tree.</p> |
| </td> |
| </tr> |
| <tr id="MAX_LABEL_SIZE"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=19">MAX_LABEL_SIZE</a></td> |
| <td> |
| <code>16384</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum size of a label string, in bytes.</p> |
| </td> |
| </tr> |
| <tr id="MAX_MESSAGE_SIZE"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=25">MAX_MESSAGE_SIZE</a></td> |
| <td> |
| <code>16384</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum size of a message string, in bytes.</p> |
| </td> |
| </tr> |
| <tr id="MAX_NODES_PER_UPDATE"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=16">MAX_NODES_PER_UPDATE</a></td> |
| <td> |
| <code>2048</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum number of semantic nodes that may be sent in a single update.</p> |
| </td> |
| </tr> |
| <tr id="MAX_SET_ELEMENTS"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/node.fidl;l=9">MAX_SET_ELEMENTS</a></td> |
| <td> |
| <code>100</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td><p>Max number of elements in a semantic set.</p> |
| </td> |
| </tr> |
| <tr id="MAX_TREE_DEPTH"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=10">MAX_TREE_DEPTH</a></td> |
| <td> |
| <code>256</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum depth of the semantic tree.</p> |
| </td> |
| </tr> |
| <tr id="MAX_VALUE_SIZE"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl;l=22">MAX_VALUE_SIZE</a></td> |
| <td> |
| <code>16384</code> |
| </td> |
| <td><code>uint64</code></td> |
| <td><p>Maximum size of a value string, in bytes.</p> |
| </td> |
| </tr> |
| </table> |