[accerciser] Added new Mallard documentation
- From: Javier HernÃndez AntÃnez <jhernandez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [accerciser] Added new Mallard documentation
- Date: Mon, 11 Jul 2011 10:42:06 +0000 (UTC)
commit 9cdfea1f724f3adc654a2fc8cd81a71ba18a96d6
Author: Aline Bessa <alibezz gmail com>
Date: Sun Jul 10 23:02:23 2011 +0200
Added new Mallard documentation
Makefile.am | 4 +-
configure.in | 2 +-
help/C/api_browser_plugin.page | 65 ++++++++
help/C/desktop_tree_view.page | 76 +++++++++
help/C/event_monitor_plugin.page | 134 ++++++++++++++++
help/C/figures/IPython_plugin.png | Bin 0 -> 119753 bytes
help/C/figures/accerciser-logo.png | Bin 0 -> 3602 bytes
help/C/figures/accerciser-view.png | Bin 0 -> 107730 bytes
help/C/figures/accerciser_preferences.png | Bin 0 -> 95652 bytes
help/C/figures/accessible_tree.png | Bin 0 -> 151453 bytes
help/C/figures/api_browser.png | Bin 22058 -> 151693 bytes
help/C/figures/event_monitor.png | Bin 53861 -> 131303 bytes
help/C/figures/event_monitor_plugin.png | Bin 0 -> 128766 bytes
help/C/figures/global-hotkeys.png | Bin 0 -> 29505 bytes
help/C/figures/highlighting.png | Bin 0 -> 15833 bytes
help/C/figures/interface_viewer_plugin.png | Bin 0 -> 103228 bytes
help/C/figures/plugins.png | Bin 0 -> 25117 bytes
help/C/figures/tree_view_accerciser.png | Bin 0 -> 60810 bytes
help/C/figures/validator_app_tree.png | Bin 0 -> 220905 bytes
help/C/figures/validator_report.png | Bin 0 -> 210100 bytes
help/C/howto_setting_up_accerciser.page | 78 +++++++++
help/C/howto_write_a_plugin.page | 236 ++++++++++++++++++++++++++++
help/C/index.page | 42 +++++
help/C/interface_viewer_plugin.page | 139 ++++++++++++++++
help/C/introduction.page | 168 ++++++++++++++++++++
help/C/ipython_plugin.page | 72 +++++++++
help/C/preferences.page | 118 ++++++++++++++
help/C/quick_select_plugin.page | 37 +++++
help/C/validator_plugin.page | 73 +++++++++
help/Makefile.am | 37 ++++-
30 files changed, 1272 insertions(+), 9 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 111f41f..c220e8b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,7 +25,9 @@ EXTRA_DIST = \
$(schemas_in_files) \
$(schemas_DATA)
-DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
+DISTCHECK_CONFIGURE_FLAGS = \
+ --disable-scrollkeeper \
+ --enable-pydoc
DISTCLEANFILES = \
$(desktop_DATA) \
accerciser.spec \
diff --git a/configure.in b/configure.in
index b2a49c7..4ff065f 100644
--- a/configure.in
+++ b/configure.in
@@ -3,7 +3,7 @@ AC_CONFIG_SRCDIR(src/accerciser.in)
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
-GNOME_DOC_INIT
+GNOME_DOC_INIT([0.17.3])
dnl == check for python ==
AM_PATH_PYTHON(2.4)
diff --git a/help/C/api_browser_plugin.page b/help/C/api_browser_plugin.page
new file mode 100644
index 0000000..1fbd28d
--- /dev/null
+++ b/help/C/api_browser_plugin.page
@@ -0,0 +1,65 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="api_browser_plugin">
+ <info>
+ <link type="guide" xref="index#advanced" />
+ <title type="sort">1. API Browser Plugin</title>
+ <link type="next" xref="ipython_plugin" />
+ <desc>
+ Verifying interfaces, methods, and properties
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> API Browser Plugin</title>
+ <p>
+ Given an accessible widget selected in the <link xref="desktop_tree_view">Application Tree View</link>,
+ the API Browser Plugin shows its implemented AT-SPI interfaces along with its methods and properties.
+ </p>
+
+ <figure>
+ <title>API Browser Plugin</title>
+ <desc>
+ The API Browser Plugin allows you to verify interfaces, methods, and properties of a
+ target accessible widget in an application.
+ </desc>
+ <media type="image" mime="image/png" width="800" height="500" src="figures/api_browser.png">
+ <p>
+ The API Browser Plugin allows you to verify interfaces, methods, and properties of a
+ target accessible widget in an application.
+ </p>
+ </media>
+ </figure>
+
+ <section id="running_api_browser_plugin">
+ <title>Running the API Browser Plugin</title>
+ <p>
+ To run the API Browser Plugin, select an accessible widget
+ in the Application Tree View. Double-clicking a widget highlights it in the
+ application's interface, so you can be sure whether a certain widget were the
+ one you were looking for.
+ </p>
+ <p>
+ After that, select one of the widget's interfaces in the combobox.
+ All public methods of the selected interface will be
+ listed in the plugin's leftmost column. All public properties, with their
+ corresponding values, will be listed in the plugin's rightmost column.
+ </p>
+ <p>
+ By default, the API Browser Plugin hides private methods and properties. To see
+ them listed, unselect the checkbox <cmd>Hide Private Attributes</cmd>. To hide
+ them again, re-select this checkbox.
+ </p>
+ </section>
+</page>
diff --git a/help/C/desktop_tree_view.page b/help/C/desktop_tree_view.page
new file mode 100644
index 0000000..ff8858b
--- /dev/null
+++ b/help/C/desktop_tree_view.page
@@ -0,0 +1,76 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="desktop_tree_view">
+ <info>
+ <link type="guide" xref="index#examining_a11y" />
+ <title type="sort">1. Application Tree View</title>
+ <link type="next" xref="interface_viewer" />
+ <desc>
+ Exploring the accessible hierarchy of the desktop
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title>Application Tree View</title>
+
+ <p>
+ <app>Accerciser</app>'s interface contains a tree view, namely Application Tree View, that covers all
+ accessible applications currently running on the desktop. To create this tree view, <app>Accerciser</app>
+ uses the AT-SPI's registry daemon. This daemon is responsible for keeping track of all the accessible
+ applications on the desktop and forwarding X events over the AT-SPI D-Bus. After getting all accessible
+ applications, <app>Accerciser</app> represents each one of them as a hierarchical structure with expanding
+ nodes.
+ </p>
+
+ <figure>
+ <title>Application Tree View</title>
+ <desc>
+ <app>Accerciser</app>'s Application Tree View represents the interface of each accessible application
+ running on the desktop as a widget hierarchical structure.
+ </desc>
+ <media type="image" mime="image/png" width="400" height="600" src="figures/tree_view_accerciser.png">
+ <p><app>Accerciser</app>'s Application Tree View represents the interface of each accessible application
+ running on the desktop as a widget hierarchical structure.</p>
+ </media>
+ </figure>
+
+
+ <p>
+ The first node of each application represented in this tree view is the application itself. When you expand a node, you
+ can see all of its child widgets, which allows a hierarchical view of the application's interface. For each node,
+ <app>Accerciser</app> provides some basic information, such as its name, role and number of children.
+ </p>
+
+ <note style="caution">
+ <p>
+ Be aware that nodes with many children take a long time to expand.
+ </p>
+ </note>
+
+ <section id="bookmarking">
+ <title>Bookmarking items in the Application Tree View</title>
+ <p>
+ <app>Accerciser</app> allows bookmarking items in the Application Tree View for later examining. This is helpful when
+ the target application must be restarted - after rebuilding it, for example. To bookmark an item, select it and do
+ <guiseq><gui>Bookmarks</gui><gui>Add Bookmark</gui></guiseq> or press <key>Ctrl</key>+<key>d</key>.
+ </p>
+ <p>
+ Bookmarks to accessible items in <app>Accerciser</app> are defined by an application name and a "path" in the
+ application's internal accessible hierarchy to the bookmarked accessible. When the target application is in a
+ different state - i.e. multiple top level frames -, the path might not be correct. Bookmarks could be managed
+ by accessing the bookmark editing dialog through <guiseq><gui>Bookmarks</gui><gui>Edit Bookmarks</gui></guiseq>.
+ </p>
+ </section>
+
+</page>
diff --git a/help/C/event_monitor_plugin.page b/help/C/event_monitor_plugin.page
new file mode 100644
index 0000000..829c3c0
--- /dev/null
+++ b/help/C/event_monitor_plugin.page
@@ -0,0 +1,134 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="event_monitor_plugin">
+ <info>
+ <link type="guide" xref="index#examining_a11y" />
+ <title type="sort">4. Event Monitor Plugin</title>
+ <link type="next" xref="quick_select_plugin" />
+ <desc>
+ Monitoring accessible events as they occur
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> Event Monitor Plugin</title>
+ <p>
+ The Event Monitor Plugin allows you to view
+ <link href="http://accessibility.linuxfoundation.org/a11yspecs/atspi/adoc/atspi-events.html";>AT-SPI events</link>
+ as they occur on the applications exposed in <app>Accerciser</app>'s
+ <link xref="desktop_tree_view">Application Tree View</link>. The plugin is useful to explore the dynamics of an
+ application's interface and verify which accessible widgets are related to which AT-SPI events.
+ </p>
+
+ <figure>
+ <title>Event Monitor Plugin</title>
+ <desc>
+ The Event Monitor Plugin allows you to view AT-SPI events and match them
+ with accessible widgets.
+ </desc>
+ <media type="image" mime="image/png" width="700" height="500" src="figures/event_monitor_plugin.png">
+ <p>
+ The Event Monitor Plugin allows you to view AT-SPI events and match them
+ with accessible widgets.
+ </p>
+ </media>
+ </figure>
+
+ <section id="running_event_monitor_plugin">
+ <title>Running the Event Monitor Plugin</title>
+ <p>
+ When you open the Event Monitor Plugin, you see a list of checkboxes
+ representing all the different AT-SPI event classes covered by the
+ plugin:
+ </p>
+
+ <list>
+ <item>
+ <p>
+ document
+ </p>
+ </item>
+ <item>
+ <p>
+ focus
+ </p>
+ </item>
+ <item>
+ <p>
+ mouse
+ </p>
+ </item>
+ <item>
+ <p>
+ object
+ </p>
+ </item>
+ <item>
+ <p>
+ terminal
+ </p>
+ </item>
+ <item>
+ <p>
+ window
+ </p>
+ </item>
+ </list>
+
+ <p>
+ If you check a class,
+ all of its event types will be monitored by the plugin. The classes
+ are exposed as tree structures; therefore, you can refine your selection
+ by expanding them and checking only the event types you really care about.
+ </p>
+ <p>
+ If you want to monitor all possible types of AT-SPI events, press the <cmd>Select All</cmd>
+ button. Similarly, if you want to clear all currently selected event types,
+ press the <cmd>Clear Selection</cmd> button.
+ </p>
+
+ <note style="tip">
+ <p>
+ Selecting only a few event types per monitoring gives you a clearer output.
+ </p>
+ </note>
+
+ <p>
+ Another way to refine event monitoring is by the event source. By default, the Source option <cmd>Everything</cmd>
+ is selected, indicating that AT-SPI events of all applications will be monitored.
+ If you want to investigate a single application, select it
+ in the Application Tree View and click the Source radio button <cmd>Selected application</cmd>. Likewise,
+ if you want to monitor a single accessible widget and its corresponding descendants,
+ select it in the Application Tree View and click the Source radio button <cmd>Selected accessible</cmd>.
+ </p>
+
+ <p>
+ After selecting event types and specifying a Source option, the Event Monitor Plugin starts
+ monitoring AT-SPI events automatically, because the <cmd>Monitor Events</cmd> button is
+ pressed by default. Whenever you want to stop monitoring, click the <cmd>Monitor Events</cmd>
+ button. To restart monitoring, press this button again.
+ </p>
+
+ <p>
+ For each incoming event, the Event Monitor Plugin indicates the source and the application. Activating the
+ link for either of these items will cause it to become selected in the Application Tree View.
+ </p>
+
+ <p>
+ If you want to save the output generated by the Event Monitor Plugin,
+ just press the <cmd>Save</cmd> button. To clear the output screen, you just need to
+ click the <cmd>Clear</cmd> button.
+ </p>
+ </section>
+</page>
diff --git a/help/C/figures/IPython_plugin.png b/help/C/figures/IPython_plugin.png
new file mode 100644
index 0000000..62339c7
Binary files /dev/null and b/help/C/figures/IPython_plugin.png differ
diff --git a/help/C/figures/accerciser-logo.png b/help/C/figures/accerciser-logo.png
new file mode 100644
index 0000000..a057eaf
Binary files /dev/null and b/help/C/figures/accerciser-logo.png differ
diff --git a/help/C/figures/accerciser-view.png b/help/C/figures/accerciser-view.png
new file mode 100644
index 0000000..01e0083
Binary files /dev/null and b/help/C/figures/accerciser-view.png differ
diff --git a/help/C/figures/accerciser_preferences.png b/help/C/figures/accerciser_preferences.png
new file mode 100644
index 0000000..b786ab4
Binary files /dev/null and b/help/C/figures/accerciser_preferences.png differ
diff --git a/help/C/figures/accessible_tree.png b/help/C/figures/accessible_tree.png
new file mode 100644
index 0000000..de96abf
Binary files /dev/null and b/help/C/figures/accessible_tree.png differ
diff --git a/help/C/figures/api_browser.png b/help/C/figures/api_browser.png
index 5a42a49..56c3dfd 100644
Binary files a/help/C/figures/api_browser.png and b/help/C/figures/api_browser.png differ
diff --git a/help/C/figures/event_monitor.png b/help/C/figures/event_monitor.png
index 12aa648..a742ae5 100644
Binary files a/help/C/figures/event_monitor.png and b/help/C/figures/event_monitor.png differ
diff --git a/help/C/figures/event_monitor_plugin.png b/help/C/figures/event_monitor_plugin.png
new file mode 100644
index 0000000..a216810
Binary files /dev/null and b/help/C/figures/event_monitor_plugin.png differ
diff --git a/help/C/figures/global-hotkeys.png b/help/C/figures/global-hotkeys.png
new file mode 100644
index 0000000..bd1553b
Binary files /dev/null and b/help/C/figures/global-hotkeys.png differ
diff --git a/help/C/figures/highlighting.png b/help/C/figures/highlighting.png
new file mode 100644
index 0000000..6de0d6c
Binary files /dev/null and b/help/C/figures/highlighting.png differ
diff --git a/help/C/figures/interface_viewer_plugin.png b/help/C/figures/interface_viewer_plugin.png
new file mode 100644
index 0000000..8408753
Binary files /dev/null and b/help/C/figures/interface_viewer_plugin.png differ
diff --git a/help/C/figures/plugins.png b/help/C/figures/plugins.png
new file mode 100644
index 0000000..8709f73
Binary files /dev/null and b/help/C/figures/plugins.png differ
diff --git a/help/C/figures/tree_view_accerciser.png b/help/C/figures/tree_view_accerciser.png
new file mode 100644
index 0000000..92000c9
Binary files /dev/null and b/help/C/figures/tree_view_accerciser.png differ
diff --git a/help/C/figures/validator_app_tree.png b/help/C/figures/validator_app_tree.png
new file mode 100644
index 0000000..5361ad8
Binary files /dev/null and b/help/C/figures/validator_app_tree.png differ
diff --git a/help/C/figures/validator_report.png b/help/C/figures/validator_report.png
new file mode 100644
index 0000000..136a8ff
Binary files /dev/null and b/help/C/figures/validator_report.png differ
diff --git a/help/C/howto_setting_up_accerciser.page b/help/C/howto_setting_up_accerciser.page
new file mode 100644
index 0000000..d5f3422
--- /dev/null
+++ b/help/C/howto_setting_up_accerciser.page
@@ -0,0 +1,78 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="howto_setting_up_accerciser">
+<info>
+ <link type="guide" xref="index#getting_started" />
+ <link type="next" xref="desktop_tree_view" />
+ <title type="sort">2. How to install and run <app>Accerciser</app></title>
+ <title type="link">Setting up <app>Accerciser</app></title>
+ <desc>
+ Installing and running <app>Accerciser</app> on your system
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title>Setting up <app>Accerciser</app></title>
+
+ <p>
+ Check if your distribution has <app>Accerciser</app> already packaged.
+ If this is the case, you can install it via its package manager. Otherwise,
+ you can follow the section below to install <app>Accerciser</app> manually.
+ </p>
+
+ <section id="installing_accerciser_manually">
+ <title>Installing <app>Accerciser</app> manually</title>
+ <p>
+ To install <app>Accerciser</app> manually, you will need to download it first. <app>Accerciser</app>'s
+ source code can either be downloaded from <link href="http://ftp.gnome.org/pub/GNOME/sources/accerciser/";>the gnome.org
+ FTP site</link> or cloned from <link href="http://git.gnome.org/browse/accerciser";>the gnome.org GIT repository</link>.
+ </p>
+
+ <note style="caution">
+ <p>
+ If you are not using GNOME 3, you may find that <app>Accerciser</app> version 3 or later is not compatible with your
+ environment.
+ </p>
+ </note>
+
+
+ <p>
+ After getting <app>Accerciser</app>, install it using the following commands:
+ </p>
+ <steps>
+ <item><p><cmd>cd accerciser</cmd></p></item>
+ <item><p><cmd>./autogen.sh # or ./configure for first time installation</cmd></p></item>
+ <item><p><cmd>make</cmd></p></item>
+ <item><p><cmd>sudo make install # or make install as root</cmd></p></item>
+ </steps>
+ <p>
+ If you find any problems installing <app>Accerciser</app> on your system, it is likely that some
+ of its dependencies are missing. Check <link href="https://live.gnome.org/Accerciser/#Requirements";>
+ <app>Accerciser</app>'s wiki</link> to make sure you have all dependencies properly installed.
+ </p>
+ </section>
+
+ <section id="running_accerciser">
+ <title>Running <app>Accerciser</app></title>
+ <p>
+ To start <app>Accerciser</app>, type <cmd>accerciser</cmd> in a terminal window or
+ within the Run dialog and then press <key>Return</key>.
+ </p>
+ <p>
+ After that, you can use <app>Accerciser</app> to inspect any accessible item shown in the
+ <link xref="desktop_tree_view">Application Tree View</link>'s hierarchy. Select an item and investigate
+ it using one of <app>Accerciser</app>'s plugins.
+ </p>
+ </section>
+</page>
diff --git a/help/C/howto_write_a_plugin.page b/help/C/howto_write_a_plugin.page
new file mode 100644
index 0000000..fa5f822
--- /dev/null
+++ b/help/C/howto_write_a_plugin.page
@@ -0,0 +1,236 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="howto_write_a_plugin">
+ <info>
+ <link type="guide" xref="index#advanced" />
+ <title type="sort">3. Writing New Plugins</title>
+ <link type="next" xref="preferences_setting" />
+ <desc>
+ Extending <app>Accerciser</app> with your desired functionalities
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> Writing Plugins for <app>Accerciser</app></title>
+ <p>
+ Extending <app>Accerciser</app> with new plugins became much simpler
+ since <link href="http://live.gnome.org/Accerciser/PluginTutorial";>this tutorial</link>
+ was written. Given that it provides a very detailed explanation about the topic,
+ this section consists basically of its original content - only simple editions
+ and updates were done.
+ </p>
+ <p>
+ <app>Accerciser</app> supports three basic types of plugins:
+ </p>
+ <list>
+ <item>
+ <p>
+ Base plugins - These plugins are derived from the Plugin base class. They do not provide
+ a visible interface, but could provide additional functionality to <app>Accerciser</app>.
+ </p>
+ </item>
+ <item>
+ <p>
+ Console plugins - These plugins provide simple console output into a text area in a plugin
+ tab. Not to be confused with the packaged <link xref="ipython_plugin">IPython Console Plugin</link>.
+ </p>
+ </item>
+ <item>
+ <p>
+ Viewport plugins - The majority of <app>Accerciser</app> default plugins.
+ They provide a custom graphical interface in a tab.
+ </p>
+ </item>
+ </list>
+
+ <section id="base_plugin">
+ <title>Creating a Base Plugin</title>
+ <p>
+ We will create a simplified version of the <link xref="quick_select_plugin">Quick Select Plugin</link>.
+ This plugin will select the last focused accessible when pressing <key>ctrl</key>+<key>alt</key>+<key>e</key>.
+ </p>
+ <p>
+ First off, the import lines we will use are:
+ </p>
+ <code>
+ from accerciser.plugin import Plugin
+ import gtk
+ import pyatspi
+ </code>
+ <p>
+ Next we will derive a new class from the Plugin base class,
+ and assign some mandatory class attributes:
+ </p>
+ <code>
+ class FocusSelect(Plugin):
+ plugin_name = 'Focus Select'
+ plugin_description = 'Allows selecting last focused accessible.'
+ </code>
+ <p>
+ We will now override the init method, in which we will set a global key
+ action for selecting the last focused accessible item, register an event
+ listener for the "focus" event, and set the <cmd>last_focused</cmd> instance
+ variable to <cmd>None</cmd>.
+ </p>
+ <code>
+ def init(self):
+ pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')
+ self.global_hotkeys = [('Inspect last focused accessible',
+ self.inspectLastFocused,
+ gtk.keysyms.e,
+ gtk.gdk.CONTROL_MASK | gtk.gdk.MOD1_MASK)]
+ self.last_focused = None
+ </code>
+ <p>
+ Notice that the <cmd>global_hotkeys</cmd> instance variable is a list of
+ tuples. Each tuple is a global hotkey action, composed by an action description,
+ a desired method to call, a key symbol of keypress, and a key modifier mask.
+ </p>
+ <p>
+ In the "focus" event callback, we assign the <cmd>last_focused</cmd> instance
+ variable with the accessible item that has just emitted the "focus" event.
+ </p>
+ <code>
+ def accEventFocusChanged(self, event):
+ if not self.isMyApp(event.source):
+ self.last_focused = event.source
+ </code>
+ <p>
+ In the hotkey action callback, we update the application wide node with the
+ last focused accessible item, if we have recorded it:
+ </p>
+ <code>
+ def inspectLastFocused(self):
+ if self.last_focused:
+ self.node.update(self.last_focused)
+ </code>
+ </section>
+ <section id="console_plugin">
+ <title>Creating a Console Plugin</title>
+ <p>
+ We will create a console plugin to display focus changes emitted by an accessible
+ item with a "push button" role - remember that it is easy to check what is the role
+ of any item with <app>Accerciser</app>; you can verify it in the <link xref="desktop_tree_view">Application Tree View</link>,
+ for example.
+ </p>
+ <p>
+ The needed import lines are:
+ </p>
+ <code>
+ from accerciser.plugin import ConsolePlugin
+ import pyatspi
+ </code>
+ <p>
+ Then we add a class definition, with a plugin name and description:
+ </p>
+ <code>
+ class PushButtonFocus(ConsolePlugin):
+ plugin_name = 'Push Button Focus'
+ plugin_description = 'Print event when pushbutton get\'s focus.'
+ </code>
+ <p>
+ We override the init method adding a register listener:
+ </p>
+ <code>
+ def init(self):
+ pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')
+ </code>
+ <p>
+ In the callback method, all push button events are printed.
+ </p>
+ <code>
+ def accEventFocusChanged(self, event):
+ if event.source.getRole() == pyatspi.ROLE_PUSH_BUTTON:
+ self.appendText(str(event)+'\n')
+ </code>
+ </section>
+ <section id="viewport_plugin">
+ <title>Creating a Viewport Plugin</title>
+ <p>
+ We will create a viewport plugin that allows quick testing of the
+ "click" action in accessible items that support the AT-SPI Action interface
+ and have an action named "click". It will be a simple button that, once
+ clicked, does the "click" action in the accessible.
+ </p>
+ <p>
+ First off, some mandatory import lines:
+ </p>
+ <code>
+ import gtk
+ from accerciser.plugin import ViewportPlugin
+ </code>
+ <p>
+ Next, a class definition, with a name and description:
+ </p>
+ <code>
+ class Clicker(ViewportPlugin):
+ plugin_name = 'Clicker'
+ plugin_description = 'Test the "click" action in relevant accessibles.'
+ </code>
+ <p>
+ We override the init method with some UI building, and connecting a callback
+ to a signal for the button. We use the alignment container to allow the button
+ to be centered in the plugin tab, and not monstrously take up the entire plugin
+ space. Notice that the <cmd>plugin_area</cmd> instance variable contains a gtk.Frame
+ that could be populated with all the plugin's widgets.
+ </p>
+ <code>
+ def init(self):
+ alignment = gtk.Alignment(0.5,0.5,0,0)
+ self.click_button = gtk.Button('Click me!')
+ alignment.add(self.click_button)
+ self.plugin_area.add(alignment)
+
+ self.click_button.connect('clicked', self.onClick)
+
+ self.show_all()
+ </code>
+ <p>
+ We also created a convenience method that returns a list of supported actions
+ of the currently selected accessible item - if it does not support the Action
+ interface, it returns an empty list:
+ </p>
+ <code>
+ def accSupportedActions(self):
+ try:
+ ai = self.node.acc.queryAction()
+ except NotImplementedError:
+ action_names = []
+ else:
+ action_names = [ai.getName(i) for i in xrange(ai.nActions)]
+ return action_names
+ </code>
+ <p>
+ The base plugin class has a method call onAccChanged that is called everytime the
+ target application's selected accessible item changes. We will override it setting
+ the button to be sensitive only when the current accessible item has the "click" action:
+ </p>
+ <code>
+ def onAccChanged(self, acc):
+ has_click = 'click' in self.accSupportedActions()
+ self.click_button.set_sensitive(has_click)
+ </code>
+ <p>
+ The callback method for button "clicked" performs the "click" action on the accessible item.
+ Since this callback could only be called when the button is sensitive, we don't need to worry
+ about checking if the current accessible has the "click" action?
+ </p>
+ <code>
+ def onClick(self, button):
+ ai = self.node.acc.queryAction()
+ action_names = [ai.getName(i) for i in xrange(ai.nActions)]
+ ai.doAction(action_names.index('click'))
+ </code>
+ </section>
+</page>
diff --git a/help/C/index.page b/help/C/index.page
new file mode 100644
index 0000000..699e567
--- /dev/null
+++ b/help/C/index.page
@@ -0,0 +1,42 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="guide" id="index">
+ <info>
+ <title type="text">Accerciser</title>
+ <title type="link">Introduction to <app>Accerciser</app></title>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title>
+ <media type="image" mime="image/png" src="figures/accerciser-logo.png">
+ <app>Accerciser</app>'s logo
+ </media>
+ <app>Accerciser</app>
+ </title>
+ <note style="important">
+ <title>Before You Begin</title>
+ <p>
+ Read the <link href="ghelp:gnome-help#a11y">Universal Access Help</link>
+ </p>
+ </note>
+ <section id="getting_started" style="2column">
+ <title>Getting Started</title>
+ </section>
+ <section id="examining_a11y" style="2column">
+ <title>Examining the Accessibility of an Application</title>
+ </section>
+ <section id="advanced" style="2column">
+ <title>Advanced Topics</title>
+ </section>
+</page>
diff --git a/help/C/interface_viewer_plugin.page b/help/C/interface_viewer_plugin.page
new file mode 100644
index 0000000..1ce4aeb
--- /dev/null
+++ b/help/C/interface_viewer_plugin.page
@@ -0,0 +1,139 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="interface_viewer">
+ <info>
+ <link type="guide" xref="index#examining_a11y" />
+ <title type="sort">2. Interface Viewer Plugin</title>
+ <link type="next" xref="validator_plugin" />
+ <desc>
+ Examining your accessibility implementation
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title>Interface Viewer Plugin</title>
+
+ <p>
+ The Interface Viewer Plugin shows the information and controls provided by the AT-SPI interfaces
+ present in each accessible item from the <link xref="desktop_tree_view">Application Tree View</link>. After
+ selecting an item, you can use this plugin to quickly review its supported interfaces, to retrieve
+ each interface's information, and to manipulate the item through all the interfaceâs methods.
+ </p>
+
+ <figure>
+ <title>Examining a Menu with the Interface Viewer Plugin</title>
+ <desc>
+ Given a selected item in the Application Tree View, all of its AT-SPI interfaces will be shown as sensitive
+ in the Interface Viewer Plugin. Those unsupported will appear grayed out, such as the Application
+ and Collection interfaces in the figure above.
+ </desc>
+ <media type="image" mime="image/png" width="800" height="450" src="figures/interface_viewer_plugin.png">
+ <p>Given a selected item in the Application Tree View, all of its AT-SPI interfaces will be shown as sensitive
+ in the Interface Viewer Plugin. Those unsupported will appear grayed out, such as the Application and Collection
+ interfaces in the figure above.</p>
+ </media>
+ </figure>
+
+ <section id="running_interface_viewer">
+ <title>Running the Interface Viewer Plugin</title>
+ <p>
+ The first step to run the Interface Viewer Plugin is to select an item in the <link xref="desktop_tree_view">
+ Application Tree View</link>. After that, all AT-SPI interfaces covered by the plugin will be listed in the
+ plugin's panel. The interfaces implemented by the selected item will be sensitive, so you can click each one of
+ them to either retrieve their provided information or to interact with available methods. The following interfaces
+ can be explored in <app>Accerciser</app>, assuming the selected item implements them:
+ </p>
+ <list>
+ <item>
+ <p>
+ Accessible - This interface shows the selected item's child count (number of child widgets), description, states,
+ relations, and attributes.
+ </p>
+ </item>
+ <item>
+ <p>
+ Action - This interface shows all the actions that can be performed by the selected item. For each interface,
+ you will see its name, such as "press" or "click", followed by a description and a key binding, if there are
+ any. If you select an action, a "Perform action" button will become sensitive. Press this button to see the
+ item performing the selected action.
+ </p>
+ </item>
+ <item>
+ <p>
+ Application - This interface can be implemented by items with role "application". It is worth to point out that
+ items with role "application" not necessarily implement this interface. If the selected item implements it, the interface
+ will show its ID and, if there are any, its toolkit and version.
+ </p>
+ </item>
+ <item>
+ <p>
+ Component - This interface shows the selected item's absolute position (with respect to the desktop coordinate system), relative position (with respect to the window coordinate system), size, layer type, MDI-Z-order (a short integer indicating the
+ stacking order of the component in the MDI layer), and alpha (if alpha blending is used).
+ </p>
+ </item>
+ <item>
+ <p>
+ Document - This interface shows the selected item's document attributes and locale description, if there is one.
+ </p>
+ </item>
+ <item>
+ <p>
+ Hypertext - This interface shows a list with all the selected item's hypertext hyperlinks. For each hyperlink, the interface
+ provides its name, URI, start (the index in the hypertext at which the hyperlink begins) and end (the index in the hypertext
+ at which this hyperlink ends).
+ </p>
+ </item>
+ <item>
+ <p>
+ Image - This interface shows the selected item's description (or "no description" if unspecified), size, position
+ (with respect to the desktop coordinate system), and locale, if there is one.
+ </p>
+ </item>
+ <item>
+ <p>
+ Selection - This interface shows all selectable child items of the selected item. If the selected item is a menu bar
+ with options "File", "Edit", "View", and "Help", and all of them are selectable, then they will be listed in this
+ interface. If you click a listed option - "File", for example - and want to clear it, just press the "Clear" button
+ below the list.
+ </p>
+ </item>
+ <item>
+ <p>
+ Streamable Content - This interface shows the selected item's content types and their corresponding URIs.
+ </p>
+ </item>
+ <item>
+ <p>
+ Table - This interface shows the selected item's caption and summary, rows (number of rows), columns (number of columns),
+ selected rows (number of selected rows), and selected columns (number of selected columns). For a selected cell, the
+ interface shows its row's and column's header and extents.
+ </p>
+ </item>
+ <item>
+ <p>
+ Text - This interface shows the selected item's text content, that can be editable, and its attributes. The basic
+ attributes are offset (the number of characters the text has) and justification. To see possible CSS attributes,
+ click the "Include defaults" check box.
+ </p>
+ </item>
+ <item>
+ <p>
+ Value - This interface shows the selected item's current value, minimum allowed value, maximum allowed value, and
+ the minimum increment by which the value may be changed (or zero if this value cannot be determined). The current
+ value can be manually changed via a spin button.
+ </p>
+ </item>
+ </list>
+ </section>
+</page>
diff --git a/help/C/introduction.page b/help/C/introduction.page
new file mode 100644
index 0000000..16fe019
--- /dev/null
+++ b/help/C/introduction.page
@@ -0,0 +1,168 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="introduction">
+ <info>
+ <link type="guide" xref="index#getting_started" />
+ <link type="next" xref="howto_setting_up_accerciser" />
+ <title type="sort">1. What is Accerciser?</title>
+ <desc>
+ An interactive accessibility explorer
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title>What is <app>Accerciser</app>?</title>
+ <p>
+ <app>Accerciser</app> is an interactive Python accessibility explorer.
+ It uses the AT-SPI library to inspect, examine, and interact with widgets, allowing
+ you to check if an application is providing correct information to assistive
+ technologies and automated testing frameworks. <app>Accerciser</app> comes with a set
+ of plugins that you can use to create custom views of accessibility
+ information.
+ </p>
+
+ <p>
+ By default, <app>Accerciser</app>'s main interface is comprised of three sections:
+ a tree view of the entire desktop accessible hierarchy, namely <link xref="desktop_tree_view">
+ Application Tree View</link>, and two plugin areas. If you prefer to see all plugins in a single
+ area, dividing <app>Accerciser</app>'s interface in two sections instead of three, type <key>ctrl
+ </key>+<key>t</key>. To re-divide it in three sections, just press <key>ctrl</key>+<key>t</key> again.
+ </p>
+
+ <note style="tip">
+ <p>
+ Make sure that accessibility suport is enabled in your desktop - otherwise,
+ <app>Accerciser</app> will not work as expected.
+ </p>
+ </note>
+
+ <figure>
+ <title><app>Accerciser</app></title>
+ <desc>
+ <app>Accerciser</app>'s default interface.
+ </desc>
+ <media type="image" mime="image/png" src="figures/accerciser-view.png">
+ <p>
+ <app>Accerciser</app>'s default interface.
+ </p>
+ </media>
+ </figure>
+
+ <section id="more_about_gnome_accessibility">
+ <title><app>Accerciser</app>'s intended audience</title>
+ <p>
+ <app>Accerciser</app> fits the needs of many different audiences. User interface developers
+ use it to ensure that their applications are providing all of their features through AT-SPI.
+ Assistive technology developers are able to see what AT-SPI is providing to their applications.
+ Automated UI test developers find <app>Accerciser</app> beneficial since it exposes different
+ events that could be expected from their target application.
+ </p>
+ </section>
+
+ <section id="accerciser_plugin_architecture">
+ <title><app>Accerciser</app>'s plugin architecture</title>
+ <p>
+ <app>Accerciser</app> has an extensible, plugin-based architecture.
+ Its core code is fairly small and most of its features are part of
+ default plugins:
+ </p>
+ <list>
+ <item>
+ <p>
+ <link xref="interface_viewer">Interface Viewer</link> - A plugin that lets you explore the AT-SPI
+ interfaces provided by each accessible widget of a target application.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link xref="validator_plugin">AT-SPI Validator</link> - A plugin that applies tests to verify the
+ accessibility of a target application.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link xref="event_monitor_plugin">Event Monitor</link> - A plugin that displays AT-SPI events emitted by a target
+ application as they occur.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link xref="quick_select_plugin">Quick Select</link> - A plugin that provides global hotkeys for quickly
+ selecting accessible widgets in <app>Accerciser</app>'s Application Tree View.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link xref="api_browser_plugin">API Browser</link> - A plugin that shows the interfaces, methods, and
+ attributes available on each accessible widget of a target application.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link xref="ipython_plugin">IPython Console</link> - A plugin that provides a full, interactive Python
+ shell with access to selected accessible widgets of a target application.
+ </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section id="more_about_gnome_accessibility">
+ <title>More about Accessibility</title>
+ <p>
+ Accessibility is a core value that should touch all aspects of a Desktop
+ Environment. To help achieve it in GNOME, some libraries were developed,
+ such as ATK and AT-SPI. Though originated in GNOME, these libraries are now
+ also used in other Desktop Environments. To learn more about Accessibility
+ Libraries for GNU/UNIX systems, you can consult:
+ </p>
+ <list>
+ <item>
+ <p>
+ <link href="http://developer.gnome.org/atk/";>ATK Accessibility Toolkit</link> -
+ ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications.
+ Using the ATK interfaces, accessibility tools have full access to view and control running applications.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link href="http://developer.gnome.org/at-spi-cspi/stable/";>AT-SPI</link> -
+ AT-SPI is the primary service interface by which assistive technologies query and receive
+ notifications from running applications. Additional material is available from the
+ <link href="http://accessibility.kde.org/developer/atk.php#coreclasses";>KDE Accessibility Development Community</link>.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link href="http://library.gnome.org/users/gnome-access-guide/stable/";>GNOME Desktop Accessibility Guide</link> -
+ A guide for anyone interested in how the GNOME Desktop supports the needs of users with disabilities.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link href="http://developer.gnome.org/accessibility-devel-guide/stable/";>GNOME Accessibility Developer's Guide</link> -
+ A guide for developers who want to ensure their applications are accessible to the widest audience of users.
+ </p>
+ </item>
+ <item>
+ <p>
+ <link href="http://projects.gnome.org/accessibility/";>GNOME Accessibility Project</link> -
+ The GNOME Accessibility Project includes the guides listed above along with many other useful links
+ for users, developers and system administrators.
+ </p>
+ </item>
+ </list>
+ </section>
+
+</page>
diff --git a/help/C/ipython_plugin.page b/help/C/ipython_plugin.page
new file mode 100644
index 0000000..39d000a
--- /dev/null
+++ b/help/C/ipython_plugin.page
@@ -0,0 +1,72 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="ipython_plugin">
+ <info>
+ <link type="guide" xref="index#advanced" />
+ <title type="sort">2. IPython Plugin</title>
+ <link type="next" xref="howto_write_a_plugin" />
+ <desc>
+ When all else fails
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> IPython Console Plugin</title>
+ <p>
+ The IPython Console Plugin allows real-time interaction with a selected item in the <link xref="desktop_tree_view">
+ Application Tree View</link>. Since the IPython Console Plugin is an interactive Python shell, you can import any Python
+ modules you want.
+ </p>
+
+ <note style="tip">
+ <p>
+ Make sure you have the standalone package IPython installed in your system. Otherwise, the IPython Console Plugin will
+ not work properly.
+ </p>
+ </note>
+
+ <section id="running_ipython_plugin">
+ <title>Running the IPython Console Plugin</title>
+ <p>
+ To run the IPython Console Plugin, select one of the accessible items
+ listed in the Application Tree View - either an application or a widget. In the plugin, the
+ selected item will correspond to the variable 'acc'.
+ </p>
+ <p>
+ Pressing <key>Tab</key> shows completions for the current command in the console,
+ what can be useful for discovering pyatspi methods.
+ </p>
+
+ <figure>
+ <title>Investigating selected items with the IPython Console Plugin</title>
+ <desc>
+ The IPython Console Plugin lets you investigate methods, constants, and properties
+ related to a selected item in the Application Tree View.
+ </desc>
+ <media type="image" mime="image/png" width="800" height="500" src="figures/IPython_plugin.png">
+ <p>
+ The IPython Console Plugin lets you investigate methods, constants, and properties
+ related to a selected item in the Application Tree View.
+ </p>
+ </media>
+ </figure>
+
+ <note style="tip">
+ <p>
+ Typing <cmd>help(acc)</cmd> in the IPython Console Plugin shows some useful documentation
+ about the corresponding selected accessible item.
+ </p>
+ </note>
+ </section>
+</page>
diff --git a/help/C/preferences.page b/help/C/preferences.page
new file mode 100644
index 0000000..2c1450b
--- /dev/null
+++ b/help/C/preferences.page
@@ -0,0 +1,118 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="preferences_setting">
+ <info>
+ <link type="guide" xref="index#advanced" />
+ <title type="sort">4. Preferences</title>
+ <!-- link type="next" xref="event_monitor_plugin" /-->
+ <desc>
+ Customizing <app>Accerciser</app>'s preferences
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> Configuring <app>Accerciser</app></title>
+ <p>
+ To configure plugins, hotkeys, and highlighting, do either <key>ctrl</key>+<key>p</key> or <guiseq><gui>Edit</gui>
+ <gui>Preferences</gui></guiseq> to open a dialog.
+ </p>
+
+ <figure>
+ <title><app>Accerciser</app> preferences</title>
+ <desc>
+ <app>Accerciser</app> allows you to configure plugins, global hotkeys, and widget's highlighting.
+ </desc>
+ <media type="image" mime="image/png" width="900" height="500" src="figures/accerciser_preferences.png">
+ <p>
+ <app>Accerciser</app> allows you to configure plugins, global hotkeys, and widget's highlighting.
+ </p>
+ </media>
+ </figure>
+
+ <section id="plugin">
+ <title>Configuring plugins</title>
+ <p>
+ After opening the Preferences Dialog, you will find a list of all available plugins, with corresponding checkboxes,
+ under the "Plugins" tab. To enable or disable a plugin, toggle its checkbox. Only active plugins can be accessed via
+ <app>Accerciser</app>'s interface.
+ </p>
+ <p>
+ Right-clicking on any given plugin allows you to choose its location: "Top Panel", "Bottom Panel", and "New View". Selecting "New
+ View" creates a new window for the plugin.
+ </p>
+
+
+ <figure>
+ <title>Configuring plugins' preferences</title>
+ <desc>
+ <app>Accerciser</app> allows you to adjust your plugins' preferences.
+ </desc>
+ <media type="image" mime="image/png" src="figures/plugins.png">
+ <p>
+ <app>Accerciser</app> allows you to adjust your plugins' preferences.
+ </p>
+ </media>
+ </figure>
+
+ <note style="tip">
+ <p>
+ You may bypass the Preferences dialog by using drag and drop to move a plugin from a location to another.
+ </p>
+ </note>
+ </section>
+
+ <section id="global_hotkey">
+ <title>Configuring global hotkeys</title>
+ <p>
+ Some elements in <app>Accerciser</app> may enable certain functionalities via hotkeys. An example is the
+ <link xref="quick_select_plugin">Quick Select Plugin</link>. The hotkey combination for each functionality
+ can be changed via the Preferences dialog, under the "Global Hotkeys" tab. Under this tab, you will find a
+ list of all features for which hotkeys can be configured. Use the <cmd>ctrl</cmd>, <cmd>alt</cmd>, and
+ <cmd>shift</cmd> checkboxes to enable or disable these modifiers.
+ </p>
+
+ <figure>
+ <title>Configuring global hotkeys' preferences</title>
+ <desc>
+ <app>Accerciser</app> allows you to adjust your hotkeys' preferences.
+ </desc>
+ <media type="image" mime="image/png" src="figures/global-hotkeys.png">
+ <p>
+ <app>Accerciser</app> allows you to adjust your plugin's preferences.
+ </p>
+ </media>
+ </figure>
+
+ </section>
+ <section id="highlighting">
+ <title>Configuring widget's highlighting</title>
+ <p>
+ Some of <app>Accerciser</app>'s elements, such as the global hotkey <key>ctrl</key>+<key>alt</key>+<key>/</key>,
+ highlight a specific widget in a target application. The highlighting duration, border color, and fill color can
+ be customized via the Preferences dialog, under the "Highlighting" tab.
+ </p>
+
+ <figure>
+ <title>Configuring highlighting preferences</title>
+ <desc>
+ <app>Accerciser</app> allows you to adjust your highlighting preferences.
+ </desc>
+ <media type="image" mime="image/png" src="figures/highlighting.png">
+ <p>
+ <app>Accerciser</app> allows you to adjust your highlighting preferences.
+ </p>
+ </media>
+ </figure>
+ </section>
+</page>
diff --git a/help/C/quick_select_plugin.page b/help/C/quick_select_plugin.page
new file mode 100644
index 0000000..5c491b5
--- /dev/null
+++ b/help/C/quick_select_plugin.page
@@ -0,0 +1,37 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="quick_select_plugin">
+ <info>
+ <link type="guide" xref="index#examining_a11y" />
+ <title type="sort">5. Quick Select Plugin</title>
+ <link type="next" xref="api_browser_plugin" />
+ <desc>
+ Locating the object you need
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> Quick Select Plugin</title>
+ <p>
+ The Quick Select Plugin does not provide a visible interface like the other default <app>Accerciser</app> plugins -
+ instead, it adds facilities for quickly selecting items in the <link xref="desktop_tree_view">Application Tree View</link> via
+ global hotkeys. Originally, these hotkeys were part of <app>Accerciser</app>'s core code, turning into the Quick
+ Select Plugin later.
+ </p>
+ <p>
+ The Quick Select Plugin provides two global hotkeys. Pressing <key>ctrl</key>+<key>alt</key>+<key>a</key>
+ selects the last focused accessible widget in the Application Tree View. Pressing <key>ctrl</key>+<key>alt</key>+<key>/</key>
+ selects the accessible widget under the pointer in the Application Tree View and highlights it in the target application.
+ </p>
+</page>
diff --git a/help/C/validator_plugin.page b/help/C/validator_plugin.page
new file mode 100644
index 0000000..8d43a51
--- /dev/null
+++ b/help/C/validator_plugin.page
@@ -0,0 +1,73 @@
+<page xmlns="http://projectmallard.org/1.0/"; type="topic" id="validator_plugin">
+ <info>
+ <link type="guide" xref="index#examining_a11y" />
+ <title type="sort">3. Validator Default Plugin</title>
+ <link type="next" xref="event_monitor_plugin" />
+ <desc>
+ Testing an application for accessibility
+ </desc>
+ <credit type="author">
+ <name>Eitan Isaacson</name>
+ <email>eitan ascender com</email>
+ </credit>
+ <credit type="author">
+ <name>Peter Parente</name>
+ <email>pparent us ibm com</email>
+ </credit>
+ <credit type="author">
+ <name>Aline Bessa</name>
+ <email>alibezz gmail com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+ </info>
+ <title> AT-SPI Validator Plugin</title>
+ <p>
+ The AT-SPI Validator Plugin generates a report with accessibility
+ issues related to a target application. For each error, the report
+ includes the severity level and a brief description.
+ </p>
+ <figure>
+ <title>AT-SPI Validator Plugin</title>
+ <desc>
+ The AT-SPI Validator Plugin generates useful reports for verifying the accessibility of
+ a target application.
+ </desc>
+ <media type="image" mime="image/png" width="800" height="500" src="figures/validator_report.png">
+ <p>
+ The AT-SPI Validator Plugin generates useful reports for verifying the accessibility of
+ a target application.
+ </p>
+ </media>
+ </figure>
+
+ <section id="running_at_spi_validator">
+ <title>Running the AT-SPI Validator Plugin</title>
+ <p>
+ To run the AT-SPI Validator Plugin, select an item in the Application Tree View.
+ The validator will generate the report with respect to the selected
+ item and all of its descendant widgets in the tree hierarchy.
+ </p>
+
+ <p>
+ After selecting an item, choose a validation schema in the combobox and press the <cmd>Validate</cmd>
+ button to start generating the report. If you want to cancel the execution, just press the <cmd>Validate</cmd>
+ button again.
+ </p>
+
+ <p>
+ The generated report is interactive. Therefore, you can double-click any error found to check which of the target
+ application widgets is causing it. The corresponding widget will then appear selected in the <link xref="desktop_tree_view">
+ Application Tree View</link> and highlighted in the target application.
+ </p>
+ <p>
+ If you want to save the generated report in your system, just click the <cmd>Save</cmd> button.
+ To clear the validation screen, press the <cmd>Clear</cmd> button.
+ </p>
+ <p>
+ To get more information about an error in the generated report, make sure the corresponding item is
+ selected and press the <cmd>Help</cmd> button. It will open a Help Page in your default browser.
+ </p>
+ </section>
+</page>
diff --git a/help/Makefile.am b/help/Makefile.am
index 5598756..62b31d7 100644
--- a/help/Makefile.am
+++ b/help/Makefile.am
@@ -1,14 +1,37 @@
include $(top_srcdir)/gnome-doc-utils.make
-dist-hook: doc-dist-hook
-DOC_MODULE = accerciser
-DOC_ENTITIES = legal.xml
-DOC_INCLUDES =
+DOC_ID = accerciser
DOC_FIGURES = \
- figures/accerciser.png \
+ figures/accerciser-logo.png \
+ figures/highlighting.png \
+ figures/accerciser_preferences.png \
+ figures/interface_viewer_plugin.png \
+ figures/accerciser-view.png \
+ figures/IPython_plugin.png \
+ figures/accessible_tree.png \
+ figures/plugins.png \
figures/api_browser.png \
+ figures/tree_view_accerciser.png \
+ figures/event_monitor_plugin.png \
+ figures/validator_app_tree.png \
figures/event_monitor.png \
- figures/interface_viewer.png \
- figures/script_recorder.png
+ figures/validator_report.png \
+ figures/global-hotkeys.png
+
+DOC_PAGES = \
+ api_browser_plugin.page \
+ desktop_tree_view.page \
+ event_monitor_plugin.page \
+ howto_setting_up_accerciser.page \
+ howto_write_a_plugin.page \
+ index.page \
+ interface_viewer_plugin.page \
+ introduction.page \
+ ipython_plugin.page \
+ preferences.page \
+ quick_select_plugin.page \
+ validator_plugin.page
+
DISTCLEANFILES = accerciser-C.omf
DOC_LINGUAS = ca cs de el en_GB es fr gl it ja oc pt_BR sl sv uk zh_CN
+dist-hook: doc-dist-hook
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]