Enum Class Accessible.Action

java.lang.Object
java.lang.Enum<Accessible.Action>
limn.accessibility.Accessible.Action
All Implemented Interfaces:
Serializable, Comparable<Accessible.Action>, Constable
Enclosing class:
Accessible

public static enum Accessible.Action extends Enum<Accessible.Action>
What an assistive technology can ask of a node.

The list is in two parts and the split is not tidiness. The first thirteen are parameterless verbs, and those are what a node publishes in its ActionFacet. The last four take an Accessible.Argument and are never published in that list, because one of the three platforms cannot express a parameterised action in its action list at all and puts these on its value and text interfaces instead. What advertises a parameterised setter is a facet's presence: a node with a writable ValueFacet is settable, a node with a TextFacet and without Accessible.State.READ_ONLY is editable.

A node accepts exactly the parameterless verbs it publishes, plus the setters its writable facets imply: the published snapshot is the only synchronous authority a bridge has, so a verb a widget accepts but does not publish is one every platform refuses before it is posted. A widget that answers a synonym publishes the synonym. A facet implies its setter only on a node that is Accessible.State.ENABLED: a disabled field keeps its true writability and accepts no text, rather than being published read-only. AccessibleNode.accepts(limn.accessibility.Accessible.Action) is the rule in one call.

Every one of the seventeen is dispatched the same way, through the one inbound call a bridge makes.

A 1.x minor release may add constants to this enum: a switch over it needs a default branch.

  • Enum Constant Details

    • PRESS

      public static final Accessible.Action PRESS
      Activate this node, as a click would.
    • TOGGLE

      public static final Accessible.Action TOGGLE
      Flip this node's checked state.
    • EXPAND

      public static final Accessible.Action EXPAND
      Open this node.
    • COLLAPSE

      public static final Accessible.Action COLLAPSE
      Close this node.
    • SELECT

      public static final Accessible.Action SELECT
      Make this node its container's selection, as a click would: whatever was selected before is not any more, in a single- or a multi-select container alike. Published on a member of a container whose selection mode allows it. Moves the cursor onto the node.
    • ADD_TO_SELECTION

      public static final Accessible.Action ADD_TO_SELECTION
      Add this node to its container's selection, keeping what is already selected: the platform's "add to selection", which is only meaningful where more than one member may be selected. Published on an unselected member of a multi-select container, and nowhere else.
    • DESELECT

      public static final Accessible.Action DESELECT
      Remove this node from its container's selection, keeping the rest. Published on a selected member of a multi-select container.
    • SHOW_MENU

      public static final Accessible.Action SHOW_MENU
      Open this node's menu.
    • INCREMENT

      public static final Accessible.Action INCREMENT
      Move this node's value one step up.
    • DECREMENT

      public static final Accessible.Action DECREMENT
      Move this node's value one step down.
    • SCROLL_INTO_VIEW

      public static final Accessible.Action SCROLL_INTO_VIEW
      Scroll this node into view.
    • FOCUS

      public static final Accessible.Action FOCUS
      Move the keyboard focus here. On a widget it is the walk's free verb, offered on every focusable node. On an item inside a container it means move the cursor here without selecting, so it is published only where the cursor and the selection are separate things — a tree row, a table cell, a calendar day, a date segment, a menu row, a combo option — and refused where they are one (a list row, a segment), because there a focus that selected would be a select by another name.
    • CANCEL

      public static final Accessible.Action CANCEL
      Dismiss this node.
    • SET_VALUE

      public static final Accessible.Action SET_VALUE
      Set this node's numeric value; takes an Accessible.Argument.OfValue.
    • SET_TEXT

      public static final Accessible.Action SET_TEXT
      Replace this node's text; takes an Accessible.Argument.OfText.
    • SET_CARET

      public static final Accessible.Action SET_CARET
      Move this node's caret; takes an Accessible.Argument.OfRange whose ends are equal.
    • SET_SELECTION

      public static final Accessible.Action SET_SELECTION
      Set this node's text selection; takes an Accessible.Argument.OfRange.
  • Method Details

    • values

      public static Accessible.Action[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Accessible.Action valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isParameterless

      public boolean isParameterless()
      Whether this verb takes no argument and is therefore publishable in an ActionFacet.
      Returns:
      true for the thirteen parameterless verbs