# Class ImageIcon.AccessibleImageIcon

java.lang.Object
javax.accessibility.AccessibleContext
javax.swing.ImageIcon.AccessibleImageIcon

All Implemented Interfaces:
  `Serializable, AccessibleIcon`

Enclosing class:
  `ImageIcon`

protected class ImageIcon.AccessibleImageIcon extends AccessibleContext implements AccessibleIcon, Serializable
This class implements accessibility support for the `ImageIcon` class. It provides an implementation of the Java Accessibility API appropriate to image icon 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.3

- ## Field Summary

  ### 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`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Accessible`
  `getAccessibleChild(int i)`
  Returns the nth Accessible child of the object.
  `int`
  `getAccessibleChildrenCount()`
  Returns the number of accessible children in the object.
  `String`
  `getAccessibleIconDescription()`
  Gets the description of the icon.
  `int`
  `getAccessibleIconHeight()`
  Gets the height of the icon.
  `int`
  `getAccessibleIconWidth()`
  Gets the width of the icon.
  `int`
  `getAccessibleIndexInParent()`
  Gets the index of this object in its accessible parent.
  `Accessible`
  `getAccessibleParent()`
  Gets the Accessible parent of this object.
  `AccessibleRole`
  `getAccessibleRole()`
  Gets the role of this object.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Gets the state of this object.
  `Locale`
  `getLocale()`
  Returns the locale of this object.
  `void`
  `setAccessibleIconDescription(String description)`
  Sets the description of the icon.

  ### Methods declared in class AccessibleContext

  `addPropertyChangeListener, firePropertyChange, getAccessibleAction, getAccessibleComponent, getAccessibleDescription, getAccessibleEditableText, getAccessibleIcon, getAccessibleName, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleText, getAccessibleValue, removePropertyChangeListener, setAccessibleDescription, setAccessibleName, setAccessibleParent`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### AccessibleImageIcon

    protected AccessibleImageIcon()
    Constructs an `AccessibleImageIcon`.

- ## Method Details

  - ### getAccessibleRole

    public AccessibleRole getAccessibleRole()
    Gets the role of this object.
    Specified by:
      `getAccessibleRole` in class `AccessibleContext`
    Returns:
      an instance of AccessibleRole describing the role of the object
    See Also:
      - `AccessibleRole`

  - ### getAccessibleStateSet

    public AccessibleStateSet getAccessibleStateSet()
    Gets the state of this object.
    Specified by:
      `getAccessibleStateSet` in class `AccessibleContext`
    Returns:
      an instance of AccessibleStateSet containing the current state set of the object
    See Also:
      - `AccessibleState`

  - ### getAccessibleParent

    public Accessible getAccessibleParent()
    Gets the Accessible parent of this object. If the parent of this object implements Accessible, this method should simply return getParent().
    Overrides:
      `getAccessibleParent` in class `AccessibleContext`
    Returns:
      the Accessible parent of this object -- can be null if this object does not have an Accessible parent

  - ### getAccessibleIndexInParent

    public int getAccessibleIndexInParent()
    Gets the index of this object in its accessible parent.
    Specified by:
      `getAccessibleIndexInParent` in class `AccessibleContext`
    Returns:
      the index of this object in its parent; -1 if this object does not have an accessible parent.
    See Also:
      - `getAccessibleParent()`

  - ### 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.
    Specified by:
      `getAccessibleChildrenCount` in class `AccessibleContext`
    Returns:
      the number of accessible children in the object.

  - ### getAccessibleChild

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

  - ### getLocale

    public Locale getLocale() throws IllegalComponentStateException
    Returns the locale of this object.
    Specified by:
      `getLocale` in class `AccessibleContext`
    Returns:
      the locale of this object
    Throws:
      `IllegalComponentStateException` - If the component does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent

  - ### getAccessibleIconDescription

    public String getAccessibleIconDescription()
    Gets the description of the icon. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the icon.
    Specified by:
      `getAccessibleIconDescription` in interface `AccessibleIcon`
    Returns:
      the description of the icon

  - ### setAccessibleIconDescription

    public void setAccessibleIconDescription(String description)
    Sets the description of the icon. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the icon.
    Specified by:
      `setAccessibleIconDescription` in interface `AccessibleIcon`
    Parameters:
      `description` - the description of the icon

  - ### getAccessibleIconHeight

    public int getAccessibleIconHeight()
    Gets the height of the icon.
    Specified by:
      `getAccessibleIconHeight` in interface `AccessibleIcon`
    Returns:
      the height of the icon

  - ### getAccessibleIconWidth

    public int getAccessibleIconWidth()
    Gets the width of the icon.
    Specified by:
      `getAccessibleIconWidth` in interface `AccessibleIcon`
    Returns:
      the width of the icon