# Exploring the Flash Accessibility perspective

- Overview
- Flash Outline view
- Content in the GUI Properties View
- Flash Proxy Logs view

## Overview

In the Flash Accessibility perspective, the GUI Summary view, GUI Outline view, GUI Properties view, GUI Event view, GUI Report view, and GUI Siblings view are shown as in the GUI Accessibility perspective (Figure 1), but different information is shown in the GUI Properties view. See the following sections for details. In this perspective, the ACTF Browser Editor, the Flash Outline view, and the Flash Proxy Logs view are also available.

Figure 1. User interface of the Flash Accessibility perspective

## Flash Outline view

The Flash outline view (Figure 2) is shown in the middle pane on the right side, where the runtime and internal structure of the Flash content is shown.

### Proxy mechanism to obtain Flash internal structure

Flash internally uses a script language called ActionScript to move, transform, and control the visibility of objects. ActionScript is based on ECMAScript (aka JavaScript). This view shows the object's tree structure from the ActionScript perspective. Here are shown the properties of the objects such as type, value, and instance name provided by the developer, along with parent-child relationships. Flash developers can use this information to effectively modify their content and improve its accessibility.

Although it is basically impossible for an external environment to access the internal structure of content unless the content author explicitly permits it, the ACTF make this possible by obtaining the Flash content via an internal proxy.

Each row in this view is in the form of "[text information] name(type)". The name is an instance name provided by the developer, a field name, or a method name of an object, which is used to point at the object or property in ActionScript. The type is the return value of the ActionScript `typeof` operator applied to the object. The possible type values appears in the following list. See "ActionScript Language Reference", one of the Flash manuals for details. Icons also represent the types of the objects.

- string
- movieclip
- object
- number
- boolean
- function

The text information of an object is shown enclosed with square brackets ("[" and "]").

Clicking on a row shows more details about the object in the GUI Properties view. See the next section for details.

Figure 2. Flash Outline view

### Related functions

Refresh (Shift+F10)
  Refresh the view to an up-to-date state.
Filter Non-informative Items (Ctrl+F10)
  Hide invisible (i.e. the type of number, string, function or boolean) properties and methods. Useful to display only the relationships between the displayed objects.
Show Visual Structure (Ctrl+F10)
  Show the visual structure of a tree based on the inclusion relationships among the objects, instead of the actual parent-child relationships when the objects were created.
Scan Windowless Flash (Debug Mode) (Ctrl+F10)
  If embedded Flash content has the wmode property set to transparent or opaque rather than window (or without wmode property), then screen readers cannot access that content. Turning this option "on" tries to find the Flash content even if transparent or opaque is specified. This scan sometimes takes a long time. Setting it to "off" shows the Flash content without scan.
Show All Information (Debug Mode) (Ctrl+F10)
  All entities are shown, such as objects, properties, and methods and including the internal variables Flash uses. In addition, apparent parent-child relationships are shown as specified, even if there are circular references. Warning: Selecting Expand All with this option turned on will cause an infinite loop if a circular reference exists.
Flash Proxy preferences... (Ctrl+F10)
  Show the Flash Proxy preferences.

## Content in the GUI Properties View

When a row is selected in the Flash Outline view, the details for that object are shown in the GUI Properties view (Figure 3) in the bottom-right corner, but the content is different from that which is shown in the GUI Accessibility perspective. The displayed properties depend on the kind of entry selected. Important possible properties and their meanings include:

Figure 3. GUI Properties view

wmode
  (Only for a top-level object.) The value of the wmode property was specified when the Flash content was embedded into the webpage.
type
  The type of the object is the value returned when the ActionScript `typeof` operator is applied to the object. See the previous section for possible values.
className
  Only shown when the value of type is object, it presents the class the object belongs to. Examples are `"Button"` for buttons, `"TextField"` for text fields, and `"Array"` for arrays.
objName
  Apparent full path for the object. It may be different from the actual full path (`target` property value) due to the assignment of a variable object, which results in creating references to objects. Example: `_level0.button1.b1txt`
target
  Actual full path of the object, which is the value of the `target` property of the object. This represents the order of the creation of this object from the root object. Example: `_level0.button1.container.button`
depth
  The layer where the object is located, which is the return value of its `getDepth` method. An object with a larger depth value is shown in front of objects with smaller depths.
currentFrame
  The index of the frame where the object is located.
Location
  The coordinates and size of the object. The tool draws a highlight rectangle based on this value, which may be displaced from the actual position for button objects (objects whose type is object and className is Button).
value
  The value of the object. Shown when the object is of type number, string, or boolean.
isUIComponent
  A value of `true` means the object is a "Component". See Flash manuals for details.
isOpaqueObject
  A value of `true` means the object and its descendants can be treated as a single object. The tool will not attempt to traverse its descendants when searching in the Flash Outline view.
isInputable
  A value of `true` means users are able to input data to this object. Example of inputable objects are text fields and check boxes.
accInfo
  Accessibility information. The `_accProps` and `_accImpl` instances which are children of the object are shown. See Flash manuals for details about `_accProps`. See source code (LabelAccImpl.as, etc.) that comes with the Flash 8 authoring environment for details about `_accImpl`. Following are the child properties of accInfo:
  name
    Text information read out by screen readers
  description
    The detailed description of the object
  silent
    Set to `false` if the object is "invisible" to screen readers
  forceSimple
    Set to `true` if the object's descendants are invisible to screen readers
  shortcut
    The string for the shortcut key. Example: `Control+A`
  role
    The string for the object's MSAA role. Example: `check box`
  state
    The string for the object's MSAA state. Examples: `"focused"`, `"focused,checked,focusable"`
  defaultAction
    The string for the object's MSAA default action. Example: `"Uncheck"`

See here for other user interface elements.

## Flash Proxy Logs view

The Flash Proxy Logs view is in the bottom-right pane (Figure 4). By default, the view is hidden, since the tab for GUI Properties view is selected. As described earlier, to accesses the internal structure of Flash content, ACTF uses its own internal proxy and obtains the Flash content via the proxy. The log messages for the actions of the proxy are shown in this view.

In this view, each row corresponds to one log message from the proxy. Each entry has entries for Message, ID, Source, and Time.

Message
  A log message output by the proxy
ID
  The ID of the Flash content. The proxy can process multiple Flash objects in parallel, so a unique ID for each Flash object is used to identify the thread to which each log message belongs. The log messages for the general behaviors of the proxy do not have IDs.
Source
  The Java™ class name in the proxy that issued the message.
Time
  The time when the log message was issued.

There are four types of log messages; a trace log without an icon, an information log with an icon, a warning log with a icon, and an error log with an icon. The trace logs are not shown by default.

Figure 4. Flash Proxy Logs view

### Related functions

Clear (Shift+F10)
  Clear all log messages.
Copy (Shift+F10)
  Copy whole lines into the clipboard.
Show trace logs (Ctrl+F10)
  Show the trace logs which describe the detailed behavior of the proxy. This is mainly used to debug the proxy.
Preferences... (Ctrl+F10)
  Show the Flash Proxy preferences.

# Related topics

- Exploring the HTML Accessibility perspective
- Exploring the GUI Accessibility perspective
- Checking the accessibility of a webpage containing Flash content in the Flash Accessibility perspective

Go to Index

Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.