# Class JMenu.AccessibleJMenu

java.lang.Object
javax.accessibility.AccessibleContext
java.awt.Component.AccessibleAWTComponent
java.awt.Container.AccessibleAWTContainer
javax.swing.JComponent.AccessibleJComponent
javax.swing.AbstractButton.AccessibleAbstractButton
javax.swing.JMenuItem.AccessibleJMenuItem
javax.swing.JMenu.AccessibleJMenu

All Implemented Interfaces:
  `Serializable, EventListener, AccessibleAction, AccessibleComponent, AccessibleExtendedComponent, AccessibleSelection, AccessibleText, AccessibleValue, ChangeListener`

Enclosing class:
  `JMenu`

protected class JMenu.AccessibleJMenu extends JMenuItem.AccessibleJMenuItem implements AccessibleSelection
This class implements accessibility support for the `JMenu` class. It provides an implementation of the Java Accessibility API appropriate to menu user-interface elements.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

Since:
  1.2

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class JComponent.AccessibleJComponent

  `JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandler`
  Modifier and Type
  Class
  Description
  `protected class`
  `JComponent.AccessibleJComponent.AccessibleContainerHandler`
  Fire PropertyChange listener, if one is registered, when children added/removed.
  `protected class`
  `JComponent.AccessibleJComponent.AccessibleFocusHandler`
  Deprecated.
  This class is no longer used or needed.

  ### Nested classes/interfaces declared in class Component.AccessibleAWTComponent

  `Component.AccessibleAWTComponent.AccessibleAWTComponentHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler`
  Modifier and Type
  Class
  Description
  `protected class`
  `Component.AccessibleAWTComponent.AccessibleAWTComponentHandler`
  Fire PropertyChange listener, if one is registered, when shown/hidden..
  `protected class`
  `Component.AccessibleAWTComponent.AccessibleAWTFocusHandler`
  Fire PropertyChange listener, if one is registered, when focus events happen

- ## Field Summary

  ### Fields declared in class JComponent.AccessibleJComponent

  `accessibleFocusHandler`
  Modifier and Type
  Field
  Description
  `protected FocusListener`
  `accessibleFocusHandler`
  Deprecated.

  ### Fields declared in class Container.AccessibleAWTContainer

  `accessibleContainerHandler`
  Modifier and Type
  Field
  Description
  `protected ContainerListener`
  `accessibleContainerHandler`
  The handler to fire `PropertyChange` when children are added or removed

  ### Fields declared in class Component.AccessibleAWTComponent

  `accessibleAWTComponentHandler, accessibleAWTFocusHandler`
  Modifier and Type
  Field
  Description
  `protected ComponentListener`
  `accessibleAWTComponentHandler`
  A component listener to track show/hide/resize events and convert them to PropertyChange events.
  `protected FocusListener`
  `accessibleAWTFocusHandler`
  A listener to track focus events and convert them to PropertyChange events.

  ### Fields declared in class AccessibleContext

  `ACCESSIBLE_ACTION_PROPERTY, ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY, ACCESSIBLE_CARET_PROPERTY, ACCESSIBLE_CHILD_PROPERTY, ACCESSIBLE_COMPONENT_BOUNDS_CHANGED, ACCESSIBLE_DESCRIPTION_PROPERTY, ACCESSIBLE_HYPERTEXT_OFFSET, ACCESSIBLE_INVALIDATE_CHILDREN, ACCESSIBLE_NAME_PROPERTY, ACCESSIBLE_SELECTION_PROPERTY, ACCESSIBLE_STATE_PROPERTY, ACCESSIBLE_TABLE_CAPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED, ACCESSIBLE_TABLE_MODEL_CHANGED, ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_ROW_HEADER_CHANGED, ACCESSIBLE_TABLE_SUMMARY_CHANGED, ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED, ACCESSIBLE_TEXT_PROPERTY, ACCESSIBLE_VALUE_PROPERTY, ACCESSIBLE_VISIBLE_DATA_PROPERTY, accessibleDescription, accessibleName, accessibleParent`
  Modifier and Type
  Field
  Description
  `static final String`
  `ACCESSIBLE_ACTION_PROPERTY`
  Constant used to indicate that the supported set of actions has changed.
  `static final String`
  `ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY`
  Constant used to determine when the active descendant of a component has changed.
  `static final String`
  `ACCESSIBLE_CARET_PROPERTY`
  Constant used to determine when the `accessibleText` caret has changed.
  `static final String`
  `ACCESSIBLE_CHILD_PROPERTY`
  Constant used to determine when `Accessible` children are added/removed from the object.
  `static final String`
  `ACCESSIBLE_COMPONENT_BOUNDS_CHANGED`
  `PropertyChangeEvent` which indicates that a change has occurred in a component's bounds.
  `static final String`
  `ACCESSIBLE_DESCRIPTION_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleDescription` property has changed.
  `static final String`
  `ACCESSIBLE_HYPERTEXT_OFFSET`
  Constant used to indicate that a hypertext element has received focus.
  `static final String`
  `ACCESSIBLE_INVALIDATE_CHILDREN`
  `PropertyChangeEvent` which indicates that a significant change has occurred to the children of a component like a tree or text.
  `static final String`
  `ACCESSIBLE_NAME_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleName` property has changed.
  `static final String`
  `ACCESSIBLE_SELECTION_PROPERTY`
  Constant used to determine when the `accessibleSelection` has changed.
  `static final String`
  `ACCESSIBLE_STATE_PROPERTY`
  Constant used to determine when the `accessibleStateSet` property has changed.
  `static final String`
  `ACCESSIBLE_TABLE_CAPTION_CHANGED`
  Constant used to indicate that the table caption has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED`
  Constant used to indicate that the column description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED`
  Constant used to indicate that the column header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_MODEL_CHANGED`
  Constant used to indicate that table data has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED`
  Constant used to indicate that the row description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_HEADER_CHANGED`
  Constant used to indicate that the row header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_SUMMARY_CHANGED`
  Constant used to indicate that the table summary has changed.
  `static final String`
  `ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED`
  `PropertyChangeEvent` which indicates that text attributes have changed.
  `static final String`
  `ACCESSIBLE_TEXT_PROPERTY`
  `PropertyChangeEvent` which indicates that text has changed.
  `static final String`
  `ACCESSIBLE_VALUE_PROPERTY`
  Constant used to determine when the `accessibleValue` property has changed.
  `static final String`
  `ACCESSIBLE_VISIBLE_DATA_PROPERTY`
  Constant used to determine when the visual appearance of the object has changed.
  `protected String`
  `accessibleDescription`
  A localized String containing the description of the object.
  `protected String`
  `accessibleName`
  A localized String containing the name of the object.
  `protected Accessible`
  `accessibleParent`
  The accessible parent of this object.

  ### Fields declared in interface AccessibleAction

  `CLICK, DECREMENT, INCREMENT, TOGGLE_EXPAND, TOGGLE_POPUP`
  Modifier and Type
  Field
  Description
  `static final String`
  `CLICK`
  An action which causes a component to execute its default action.
  `static final String`
  `DECREMENT`
  An action which decrements a value.
  `static final String`
  `INCREMENT`
  An action which increments a value.
  `static final String`
  `TOGGLE_EXPAND`
  An action which causes a tree node to collapse if expanded and expand if collapsed.
  `static final String`
  `TOGGLE_POPUP`
  An action which causes a popup to become visible if it is hidden and hidden if it is visible.

  ### Fields declared in interface AccessibleText

  `CHARACTER, SENTENCE, WORD`
  Modifier and Type
  Field
  Description
  `static final int`
  `CHARACTER`
  Constant used to indicate that the part of the text that should be retrieved is a character.
  `static final int`
  `SENTENCE`
  Constant used to indicate that the part of the text that should be retrieved is a sentence.
  `static final int`
  `WORD`
  Constant used to indicate that the part of the text that should be retrieved is a word.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AccessibleJMenu()`
  Constructs an `AccessibleJMenu`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAccessibleSelection(int i)`
  Selects the `i`th menu in the menu.
  `void`
  `clearAccessibleSelection()`
  Clears the selection in the object, so that nothing in the object is selected.
  `Accessible`
  `getAccessibleChild(int i)`
  Returns the nth Accessible child of the object.
  `int`
  `getAccessibleChildrenCount()`
  Returns the number of accessible children in the object.
  `AccessibleRole`
  `getAccessibleRole()`
  Get the role of this object.
  `AccessibleSelection`
  `getAccessibleSelection()`
  Get the AccessibleSelection associated with this object.
  `Accessible`
  `getAccessibleSelection(int i)`
  Returns the currently selected sub-menu if one is selected, otherwise null (there can only be one selection, and it can only be a sub-menu, as otherwise menu items don't remain selected).
  `int`
  `getAccessibleSelectionCount()`
  Returns 1 if a sub-menu is currently selected in this menu.
  `boolean`
  `isAccessibleChildSelected(int i)`
  Returns true if the current child of this object is selected (that is, if this child is a popped-up submenu).
  `void`
  `removeAccessibleSelection(int i)`
  Removes the nth item from the selection.
  `void`
  `selectAllAccessibleSelection()`
  Normally causes every selected item in the object to be selected if the object supports multiple selections.

  ### Methods declared in class JMenuItem.AccessibleJMenuItem

  `stateChanged`
  Modifier and Type
  Method
  Description
  `void`
  `stateChanged(ChangeEvent e)`
  Supports the change listener interface and fires property changes.

  ### Methods declared in class AbstractButton.AccessibleAbstractButton

  `doAccessibleAction, getAccessibleAction, getAccessibleActionCount, getAccessibleActionDescription, getAccessibleIcon, getAccessibleKeyBinding, getAccessibleName, getAccessibleRelationSet, getAccessibleStateSet, getAccessibleValue, getAfterIndex, getAtIndex, getBeforeIndex, getCaretPosition, getCharacterAttribute, getCharacterBounds, getCharCount, getCurrentAccessibleValue, getIndexAtPoint, getMaximumAccessibleValue, getMinimumAccessibleValue, getSelectedText, getSelectionEnd, getSelectionStart, getTitledBorderText, getToolTipText, setCurrentAccessibleValue`
  Modifier and Type
  Method
  Description
  `boolean`
  `doAccessibleAction(int i)`
  Perform the specified Action on the object
  `AccessibleAction`
  `getAccessibleAction()`
  Get the AccessibleAction associated with this object.
  `int`
  `getAccessibleActionCount()`
  Returns the number of Actions available in this object.
  `String`
  `getAccessibleActionDescription(int i)`
  Return a description of the specified action of the object.
  `AccessibleIcon[]`
  `getAccessibleIcon()`
  Get the AccessibleIcons associated with this object if one or more exist.
  `AccessibleKeyBinding`
  `getAccessibleKeyBinding()`
  Returns key bindings associated with this object
  `String`
  `getAccessibleName()`
  Returns the accessible name of this object.
  `AccessibleRelationSet`
  `getAccessibleRelationSet()`
  Get the AccessibleRelationSet associated with this object if one exists.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Get the state set of this object.
  `AccessibleValue`
  `getAccessibleValue()`
  Get the AccessibleValue associated with this object.
  `String`
  `getAfterIndex(int part, int index)`
  Returns the String after a given index.
  `String`
  `getAtIndex(int part, int index)`
  Returns the String at a given index.
  `String`
  `getBeforeIndex(int part, int index)`
  Returns the String before a given index.
  `int`
  `getCaretPosition()`
  Return the zero-based offset of the caret.
  `AttributeSet`
  `getCharacterAttribute(int i)`
  Return the AttributeSet for a given character at a given index
  `Rectangle`
  `getCharacterBounds(int i)`
  Determine the bounding box of the character at the given index into the string.
  `int`
  `getCharCount()`
  Return the number of characters (valid indices)
  `Number`
  `getCurrentAccessibleValue()`
  Get the value of this object as a Number.
  `int`
  `getIndexAtPoint(Point p)`
  Given a point in local coordinates, return the zero-based index of the character under that Point.
  `Number`
  `getMaximumAccessibleValue()`
  Get the maximum value of this object as a Number.
  `Number`
  `getMinimumAccessibleValue()`
  Get the minimum value of this object as a Number.
  `String`
  `getSelectedText()`
  Returns the portion of the text that is selected.
  `int`
  `getSelectionEnd()`
  Returns the end offset within the selected text.
  `int`
  `getSelectionStart()`
  Returns the start offset within the selected text.
  `String`
  `getTitledBorderText()`
  Returns the titled border text
  `String`
  `getToolTipText()`
  Returns the tool tip text
  `boolean`
  `setCurrentAccessibleValue(Number n)`
  Set the value of this object as a Number.

  ### Methods declared in class JComponent.AccessibleJComponent

  `addPropertyChangeListener, getAccessibleDescription, getBorderTitle, removePropertyChangeListener`
  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds a PropertyChangeListener to the listener list.
  `String`
  `getAccessibleDescription()`
  Gets the accessible description of this object.
  `protected String`
  `getBorderTitle(Border b)`
  Recursively search through the border hierarchy (if it exists) for a TitledBorder with a non-null title.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Removes a PropertyChangeListener from the listener list.

  ### Methods declared in class Container.AccessibleAWTContainer

  `getAccessibleAt`
  Modifier and Type
  Method
  Description
  `Accessible`
  `getAccessibleAt(Point p)`
  Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`.

  ### Methods declared in class Component.AccessibleAWTComponent

  `addFocusListener, contains, getAccessibleComponent, getAccessibleIndexInParent, getAccessibleParent, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getSize, isEnabled, isFocusTraversable, isShowing, isVisible, removeFocusListener, requestFocus, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisible`
  Modifier and Type
  Method
  Description
  `void`
  `addFocusListener(FocusListener l)`
  Adds the specified focus listener to receive focus events from this component.
  `boolean`
  `contains(Point p)`
  Checks whether the specified point is within this object's bounds, where the point's x and y coordinates are defined to be relative to the coordinate system of the object.
  `AccessibleComponent`
  `getAccessibleComponent()`
  Gets the `AccessibleComponent` associated with this object if one exists.
  `int`
  `getAccessibleIndexInParent()`
  Gets the index of this object in its accessible parent.
  `Accessible`
  `getAccessibleParent()`
  Gets the `Accessible` parent of this object.
  `Color`
  `getBackground()`
  Gets the background color of this object.
  `Rectangle`
  `getBounds()`
  Gets the bounds of this object in the form of a Rectangle object.
  `Cursor`
  `getCursor()`
  Gets the `Cursor` of this object.
  `Font`
  `getFont()`
  Gets the `Font` of this object.
  `FontMetrics`
  `getFontMetrics(Font f)`
  Gets the `FontMetrics` of this object.
  `Color`
  `getForeground()`
  Gets the foreground color of this object.
  `Locale`
  `getLocale()`
  Returns the locale of this object.
  `Point`
  `getLocation()`
  Gets the location of the object relative to the parent in the form of a point specifying the object's top-left corner in the screen's coordinate space.
  `Point`
  `getLocationOnScreen()`
  Returns the location of the object on the screen.
  `Dimension`
  `getSize()`
  Returns the size of this object in the form of a `Dimension` object.
  `boolean`
  `isEnabled()`
  Determines if the object is enabled.
  `boolean`
  `isFocusTraversable()`
  Returns whether this object can accept focus or not.
  `boolean`
  `isShowing()`
  Determines if the object is showing.
  `boolean`
  `isVisible()`
  Determines if the object is visible.
  `void`
  `removeFocusListener(FocusListener l)`
  Removes the specified focus listener so it no longer receives focus events from this component.
  `void`
  `requestFocus()`
  Requests focus for this object.
  `void`
  `setBackground(Color c)`
  Sets the background color of this object.
  `void`
  `setBounds(Rectangle r)`
  Sets the bounds of this object in the form of a `Rectangle` object.
  `void`
  `setCursor(Cursor cursor)`
  Sets the `Cursor` of this object.
  `void`
  `setEnabled(boolean b)`
  Sets the enabled state of the object.
  `void`
  `setFont(Font f)`
  Sets the `Font` of this object.
  `void`
  `setForeground(Color c)`
  Sets the foreground color of this object.
  `void`
  `setLocation(Point p)`
  Sets the location of the object relative to the parent.
  `void`
  `setSize(Dimension d)`
  Resizes this object so that it has width and height.
  `void`
  `setVisible(boolean b)`
  Sets the visible state of the object.

  ### Methods declared in class AccessibleContext

  `firePropertyChange, getAccessibleEditableText, getAccessibleTable, getAccessibleText, setAccessibleDescription, setAccessibleName, setAccessibleParent`
  Modifier and Type
  Method
  Description
  `void`
  `firePropertyChange(String propertyName, Object oldValue, Object newValue)`
  Support for reporting bound property changes.
  `AccessibleEditableText`
  `getAccessibleEditableText()`
  Gets the `AccessibleEditableText` associated with this object presenting editable text on the display.
  `AccessibleTable`
  `getAccessibleTable()`
  Gets the `AccessibleTable` associated with an object.
  `AccessibleText`
  `getAccessibleText()`
  Gets the `AccessibleText` associated with this object presenting text on the display.
  `void`
  `setAccessibleDescription(String s)`
  Sets the accessible description of this object.
  `void`
  `setAccessibleName(String s)`
  Sets the localized accessible name of this object.
  `void`
  `setAccessibleParent(Accessible a)`
  Sets the `Accessible` parent of this object.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### AccessibleJMenu

    protected AccessibleJMenu()
    Constructs an `AccessibleJMenu`.

- ## Method Details

  - ### getAccessibleChildrenCount

    public int getAccessibleChildrenCount()
    Returns the number of accessible children in the object. If all of the children of this object implement Accessible, than this method should return the number of children of this object.
    Overrides:
      `getAccessibleChildrenCount` in class `JComponent.AccessibleJComponent`
    Returns:
      the number of accessible children in the object.

  - ### getAccessibleChild

    public Accessible getAccessibleChild(int i)
    Returns the nth Accessible child of the object.
    Overrides:
      `getAccessibleChild` in class `JComponent.AccessibleJComponent`
    Parameters:
      `i` - zero-based index of child
    Returns:
      the nth Accessible child of the object
    See Also:
      - `AccessibleContext.getAccessibleChildrenCount()`

  - ### getAccessibleRole

    public AccessibleRole getAccessibleRole()
    Get the role of this object.
    Overrides:
      `getAccessibleRole` in class `JMenuItem.AccessibleJMenuItem`
    Returns:
      an instance of AccessibleRole describing the role of the object
    See Also:
      - `AccessibleRole`

  - ### getAccessibleSelection

    public AccessibleSelection getAccessibleSelection()
    Get the AccessibleSelection associated with this object. In the implementation of the Java Accessibility API for this class, return this object, which is responsible for implementing the AccessibleSelection interface on behalf of itself.
    Overrides:
      `getAccessibleSelection` in class `AccessibleContext`
    Returns:
      this object
    See Also:
      - `AccessibleSelection`

  - ### getAccessibleSelectionCount

    public int getAccessibleSelectionCount()
    Returns 1 if a sub-menu is currently selected in this menu.
    Specified by:
      `getAccessibleSelectionCount` in interface `AccessibleSelection`
    Returns:
      1 if a menu is currently selected, else 0

  - ### getAccessibleSelection

    public Accessible getAccessibleSelection(int i)
    Returns the currently selected sub-menu if one is selected, otherwise null (there can only be one selection, and it can only be a sub-menu, as otherwise menu items don't remain selected).
    Specified by:
      `getAccessibleSelection` in interface `AccessibleSelection`
    Parameters:
      `i` - the zero-based index of selected children
    Returns:
      the i-th selected child
    See Also:
      - `AccessibleSelection.getAccessibleSelectionCount()`

  - ### isAccessibleChildSelected

    public boolean isAccessibleChildSelected(int i)
    Returns true if the current child of this object is selected (that is, if this child is a popped-up submenu).
    Specified by:
      `isAccessibleChildSelected` in interface `AccessibleSelection`
    Parameters:
      `i` - the zero-based index of the child in this Accessible object.
    Returns:
      `true` if the current child of this object is selected; else `false`
    See Also:
      - `AccessibleContext.getAccessibleChild(int)`

  - ### addAccessibleSelection

    public void addAccessibleSelection(int i)
    Selects the `i`th menu in the menu. If that item is a submenu, it will pop up in response. If a different item is already popped up, this will force it to close. If this is a sub-menu that is already popped up (selected), this method has no effect.
    Specified by:
      `addAccessibleSelection` in interface `AccessibleSelection`
    Parameters:
      `i` - the index of the item to be selected
    See Also:
      - `AbstractButton.AccessibleAbstractButton.getAccessibleStateSet()`

  - ### removeAccessibleSelection

    public void removeAccessibleSelection(int i)
    Removes the nth item from the selection. In general, menus can only have one item within them selected at a time (e.g. one sub-menu popped open).
    Specified by:
      `removeAccessibleSelection` in interface `AccessibleSelection`
    Parameters:
      `i` - the zero-based index of the selected item
    See Also:
      - `AccessibleContext.getAccessibleChild(int)`

  - ### clearAccessibleSelection

    public void clearAccessibleSelection()
    Clears the selection in the object, so that nothing in the object is selected. This will close any open sub-menu.
    Specified by:
      `clearAccessibleSelection` in interface `AccessibleSelection`

  - ### selectAllAccessibleSelection

    public void selectAllAccessibleSelection()
    Normally causes every selected item in the object to be selected if the object supports multiple selections. This method makes no sense in a menu bar, and so does nothing.
    Specified by:
      `selectAllAccessibleSelection` in interface `AccessibleSelection`