Enum Class Accessible.State

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

public static enum Accessible.State extends Enum<Accessible.State>
What is true of a node. Only what all three platforms carry as a flag is here, with one exception that says why it is one (AUTOCOMPLETES); anything a facet expresses is derived from that facet rather than stored twice, which is why CHECKED, MIXED, EXPANDED, EXPANDABLE, SELECTED and READ_ONLY are on this list and are still not a widget's to set directly.

Three pairs are deliberately separate and are never conflated. ENABLED against READ_ONLY: every platform separates them, and merging them makes a disabled field announce as read-only and leaves a genuinely read-only enabled field inexpressible. VISIBLE against SHOWING: offscreen is not invisible, and a scrolled-away list row is visible and not showing. And ENABLED against FOCUSABLE: enabled is what may be operated, focusable is what the Tab key reaches, and a label is the first and not the second.

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

  • Enum Constant Details

    • ENABLED

      public static final Accessible.State ENABLED
      This node may be operated. Inherited: a node is enabled only if it and every ancestor are, and a node outside the topmost modal overlay is not, whatever its own flag says.
    • FOCUSABLE

      public static final Accessible.State FOCUSABLE
      The Tab key can land here. Inherited the same way ENABLED is, so the set of nodes carrying this is exactly the set the scene's focus traversal can reach.
    • FOCUSED

      public static final Accessible.State FOCUSED
      This node holds the keyboard focus.
    • VISIBLE

      public static final Accessible.State VISIBLE
      This node is not hidden. Inherited: a descendant of a hidden widget is not visible.
    • SHOWING

      public static final Accessible.State SHOWING
      This node has pixels on screen: visible, laid out, and not clipped fully away.
    • SELECTABLE

      public static final Accessible.State SELECTABLE
      This node can be selected.
    • SELECTED

      public static final Accessible.State SELECTED
      This node is selected. Derived from SelectionItemFacet.
    • CHECKED

      public static final Accessible.State CHECKED
      This node is checked. Derived from ToggleFacet.
    • MIXED

      public static final Accessible.State MIXED
      This node is neither checked nor unchecked. Derived from ToggleFacet.
    • PRESSED

      public static final Accessible.State PRESSED
      This node is being pressed right now.
    • EXPANDED

      public static final Accessible.State EXPANDED
      This node is expanded. Derived from ExpandFacet.
    • EXPANDABLE

      public static final Accessible.State EXPANDABLE
      This node opens and closes. Derived from the presence of an ExpandFacet, on every node that carries one (a menu title, a submenu row, a combo box, a tree row, the calendar's title), so a reader on the one platform that speaks "collapsed" as a state of its own can be told the difference between a row that is closed and a row that cannot open.
    • HAS_POPUP

      public static final Accessible.State HAS_POPUP
      Operating this node opens a menu or a list.
    • READ_ONLY

      public static final Accessible.State READ_ONLY
      This node's value may be read and not written. Derived from TextFacet.
    • EDITABLE

      public static final Accessible.State EDITABLE
      This node's value may be edited.
    • MULTI_LINE

      public static final Accessible.State MULTI_LINE
      This node's text is more than one line.
    • PASSWORD

      public static final Accessible.State PASSWORD
      This node's text is masked and must never be spoken.
    • INVALID

      public static final Accessible.State INVALID
      This node's value has failed validation.
    • REQUIRED

      public static final Accessible.State REQUIRED
      This node must be filled in.
    • BUSY

      public static final Accessible.State BUSY
      This node is working and its value is not yet meaningful.
    • ACTIVE

      public static final Accessible.State ACTIVE
      This node is the active descendant of its container.
    • DEFAULT

      public static final Accessible.State DEFAULT
      This node is what Enter activates when nothing else has the focus.
    • HORIZONTAL

      public static final Accessible.State HORIZONTAL
      This node's value runs left to right or right to left rather than up and down.
    • VERTICAL

      public static final Accessible.State VERTICAL
      This node's value runs up and down.
    • AUTOCOMPLETES

      public static final Accessible.State AUTOCOMPLETES
      Typing here filters or completes from a list this node controls, which it names with Accessible.Relation.CONTROLLER_FOR while the list is shown: an editable combo box's field. The one state on this list that only one platform carries as a flag, AT-SPI2's SUPPORTS_AUTOCOMPLETION; UI Automation and AppKit have no such flag and read the relation alone. Orca stays on the field as the list narrows under it only when both are there, and otherwise reads the list again at every keystroke that moves its selection.
  • Method Details

    • values

      public static Accessible.State[] 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.State 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