msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2023-11-09 18:29+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Put one translator per line, in the form NAME , YEAR1, YEAR2 msgctxt "_" msgid "translator-credits" msgstr "" #. (itstool) path: info/title #: C/api_browser_plugin.page:4 msgctxt "sort" msgid "1. API Browser Plugin" msgstr "" #. (itstool) path: info/desc #: C/api_browser_plugin.page:6 msgid "Verifying interfaces, methods, and properties" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:10 #: C/desktop_tree_view.page:10 #: C/event_monitor_plugin.page:10 #: C/howto_setting_up_accerciser.page:11 #: C/howto_write_a_plugin.page:10 #: C/index.page:9 #: C/interface_viewer_plugin.page:10 #: C/introduction.page:10 #: C/ipython_plugin.page:10 #: C/preferences.page:10 #: C/quick_select_plugin.page:10 #: C/validator_plugin.page:10 msgid "Eitan Isaacson" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:14 #: C/desktop_tree_view.page:14 #: C/event_monitor_plugin.page:14 #: C/howto_setting_up_accerciser.page:15 #: C/howto_write_a_plugin.page:14 #: C/index.page:13 #: C/interface_viewer_plugin.page:14 #: C/introduction.page:14 #: C/ipython_plugin.page:14 #: C/preferences.page:14 #: C/quick_select_plugin.page:14 #: C/validator_plugin.page:14 msgid "Peter Parente" msgstr "" #. (itstool) path: credit/name #: C/api_browser_plugin.page:18 #: C/desktop_tree_view.page:18 #: C/event_monitor_plugin.page:18 #: C/howto_setting_up_accerciser.page:19 #: C/howto_write_a_plugin.page:18 #: C/index.page:17 #: C/interface_viewer_plugin.page:18 #: C/introduction.page:18 #: C/ipython_plugin.page:18 #: C/preferences.page:18 #: C/quick_select_plugin.page:18 #: C/validator_plugin.page:18 msgid "Aline Bessa" msgstr "" #. (itstool) path: license/p #: C/api_browser_plugin.page:22 #: C/desktop_tree_view.page:22 #: C/event_monitor_plugin.page:22 #: C/howto_setting_up_accerciser.page:23 #: C/howto_write_a_plugin.page:22 #: C/index.page:21 #: C/interface_viewer_plugin.page:22 #: C/introduction.page:22 #: C/ipython_plugin.page:22 #: C/preferences.page:22 #: C/quick_select_plugin.page:22 #: C/validator_plugin.page:22 msgid "Creative Commons Share Alike 3.0" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/api_browser_plugin.page:25 #: C/api_browser_plugin.page:32 msgid "API Browser Plugin" msgstr "" #. (itstool) path: page/p #: C/api_browser_plugin.page:26 msgid "Given an accessible widget selected in the Application Tree View, the API Browser Plugin shows its implemented AT-SPI interfaces along with its methods and properties." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/api_browser_plugin.page:33 #: C/api_browser_plugin.page:38 msgid "The API Browser Plugin allows you to verify interfaces, methods, and properties of a target accessible widget in an application." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/api_browser_plugin.page:37 msgctxt "_" msgid "external ref='figures/api_browser.png' md5='47cae67d29c708139b9740d06fd2521e'" msgstr "" #. (itstool) path: section/title #: C/api_browser_plugin.page:46 msgid "Running the API Browser Plugin" msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:47 msgid "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." msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:53 msgid "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." msgstr "" #. (itstool) path: section/p #: C/api_browser_plugin.page:59 msgid "By default, the API Browser Plugin hides private methods and properties. To see them listed, unselect the checkbox Hide Private Attributes. To hide them again, re-select this checkbox." msgstr "" #. (itstool) path: info/title #: C/desktop_tree_view.page:4 msgctxt "sort" msgid "1. Application Tree View" msgstr "" #. (itstool) path: info/desc #: C/desktop_tree_view.page:6 msgid "Exploring the accessible hierarchy of the desktop" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/desktop_tree_view.page:25 #: C/desktop_tree_view.page:37 msgid "Application Tree View" msgstr "" #. (itstool) path: page/p #: C/desktop_tree_view.page:27 msgid "Accerciser'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, Accerciser 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, Accerciser represents each one of them as a hierarchical structure with expanding nodes." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/desktop_tree_view.page:38 #: C/desktop_tree_view.page:43 msgid "Accerciser's Application Tree View represents the interface of each accessible application running on the desktop as a widget hierarchical structure." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/desktop_tree_view.page:42 msgctxt "_" msgid "external ref='figures/tree_view_accerciser.png' md5='08296541e21b96951e1f1b4d99ca130b'" msgstr "" #. (itstool) path: page/p #: C/desktop_tree_view.page:49 msgid "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, Accerciser provides some basic information, such as its name, role and number of children." msgstr "" #. (itstool) path: note/p #: C/desktop_tree_view.page:56 msgid "Be aware that nodes with many children take a long time to expand." msgstr "" #. (itstool) path: section/title #: C/desktop_tree_view.page:62 msgid "Bookmarking items in the Application Tree View" msgstr "" #. (itstool) path: section/p #: C/desktop_tree_view.page:63 msgid "Accerciser 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 BookmarksAdd Bookmark or press Ctrl+d." msgstr "" #. (itstool) path: section/p #: C/desktop_tree_view.page:68 msgid "Bookmarks to accessible items in Accerciser 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 BookmarksEdit Bookmarks." msgstr "" #. (itstool) path: info/title #: C/event_monitor_plugin.page:4 msgctxt "sort" msgid "4. Event Monitor Plugin" msgstr "" #. (itstool) path: info/desc #: C/event_monitor_plugin.page:6 msgid "Monitoring accessible events as they occur" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/event_monitor_plugin.page:25 #: C/event_monitor_plugin.page:35 msgid "Event Monitor Plugin" msgstr "" #. (itstool) path: page/p #: C/event_monitor_plugin.page:26 msgid "The Event Monitor Plugin allows you to view AT-SPI events as they occur on the applications exposed in Accerciser's Application Tree View. 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." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/event_monitor_plugin.page:36 #: C/event_monitor_plugin.page:41 msgid "The Event Monitor Plugin allows you to view AT-SPI events and match them with accessible widgets." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/event_monitor_plugin.page:40 msgctxt "_" msgid "external ref='figures/event_monitor_plugin.png' md5='1ee2a1d281deefa5b401244b49ed9654'" msgstr "" #. (itstool) path: section/title #: C/event_monitor_plugin.page:49 msgid "Running the Event Monitor Plugin" msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:50 msgid "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:" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:58 msgid "document" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:63 msgid "focus" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:68 msgid "mouse" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:73 msgid "object" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:78 msgid "terminal" msgstr "" #. (itstool) path: item/p #: C/event_monitor_plugin.page:83 msgid "window" msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:89 msgid "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." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:95 msgid "If you want to monitor all possible types of AT-SPI events, press the Select All button. Similarly, if you want to clear all currently selected event types, press the Clear Selection button." msgstr "" #. (itstool) path: note/p #: C/event_monitor_plugin.page:102 msgid "Selecting only a few event types per monitoring gives you a clearer output." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:107 msgid "Another way to refine event monitoring is by the event source. By default, the Source option Everything 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 Selected application. 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 Selected accessible." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:116 msgid "After selecting event types and specifying a Source option, the Event Monitor Plugin starts monitoring AT-SPI events automatically, because the Monitor Events button is pressed by default. Whenever you want to stop monitoring, click the Monitor Events button. To restart monitoring, press this button again." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:123 msgid "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." msgstr "" #. (itstool) path: section/p #: C/event_monitor_plugin.page:128 msgid "If you want to save the output generated by the Event Monitor Plugin, just press the Save button. To clear the output screen, you just need to click the Clear button." msgstr "" #. (itstool) path: info/title #: C/howto_setting_up_accerciser.page:5 msgctxt "sort" msgid "2. How to install and run Accerciser" msgstr "" #. (itstool) path: info/title #: C/howto_setting_up_accerciser.page:6 msgctxt "link" msgid "Setting up Accerciser" msgstr "" #. (itstool) path: info/desc #: C/howto_setting_up_accerciser.page:7 msgid "Installing and running Accerciser on your system" msgstr "" #. (itstool) path: page/title #: C/howto_setting_up_accerciser.page:26 msgid "Setting up Accerciser" msgstr "" #. (itstool) path: page/p #: C/howto_setting_up_accerciser.page:28 msgid "Check if your distribution has Accerciser already packaged. If this is the case, you can install it via its package manager. Otherwise, you can follow the section below to install Accerciser manually." msgstr "" #. (itstool) path: section/title #: C/howto_setting_up_accerciser.page:35 msgid "Installing Accerciser manually" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:36 msgid "To install Accerciser manually, you will need to download it first. Accerciser's source code can either be downloaded from the gnome.org FTP site or cloned from the gnome.org GIT repository." msgstr "" #. (itstool) path: note/p #: C/howto_setting_up_accerciser.page:43 msgid "If you are not using GNOME 3, you may find that Accerciser version 3 or later is not compatible with your environment." msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:50 msgid "After getting Accerciser, install it using the following commands:" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:54 msgid "cd accerciser" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:55 msgid "./autogen.sh # or ./configure for first time installation" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:56 msgid "make" msgstr "" #. (itstool) path: item/p #: C/howto_setting_up_accerciser.page:57 msgid "sudo make install # or make install as root" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:59 msgid "If you find any problems installing Accerciser on your system, it is likely that some of its dependencies are missing. Check Accerciser's wiki to make sure you have all dependencies properly installed." msgstr "" #. (itstool) path: section/title #: C/howto_setting_up_accerciser.page:67 msgid "Running Accerciser" msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:68 msgid "To start Accerciser, type accerciser in a terminal window or within the Run dialog and then press Return." msgstr "" #. (itstool) path: section/p #: C/howto_setting_up_accerciser.page:72 msgid "After that, you can use Accerciser to inspect any accessible item shown in the Application Tree View's hierarchy. Select an item and investigate it using one of Accerciser's plugins." msgstr "" #. (itstool) path: info/title #: C/howto_write_a_plugin.page:4 msgctxt "sort" msgid "3. Writing New Plugins" msgstr "" #. (itstool) path: info/desc #: C/howto_write_a_plugin.page:6 msgid "Extending Accerciser with your desired functionalities" msgstr "" #. (itstool) path: page/title #: C/howto_write_a_plugin.page:25 msgid "Writing Plugins for Accerciser" msgstr "" #. (itstool) path: page/p #: C/howto_write_a_plugin.page:26 msgid "Extending Accerciser with new plugins became much simpler since this tutorial 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." msgstr "" #. (itstool) path: page/p #: C/howto_write_a_plugin.page:33 msgid "Accerciser supports three basic types of plugins:" msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:38 msgid "Base plugins - These plugins are derived from the Plugin base class. They do not provide a visible interface, but could provide additional functionality to Accerciser." msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:44 msgid "Console plugins - These plugins provide simple console output into a text area in a plugin tab. Not to be confused with the packaged IPython Console Plugin." msgstr "" #. (itstool) path: item/p #: C/howto_write_a_plugin.page:50 msgid "Viewport plugins - The majority of Accerciser default plugins. They provide a custom graphical interface in a tab." msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:58 msgid "Creating a Base Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:59 msgid "We will create a simplified version of the Quick Select Plugin. This plugin will select the last focused accessible when pressing ctrl+alt+e." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:63 msgid "First off, the import lines we will use are:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:66 #, no-wrap msgid "" "\n" " from accerciser.plugin import Plugin\n" " import gtk\n" " import pyatspi\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:71 msgid "Next we will derive a new class from the Plugin base class, and assign some mandatory class attributes:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:75 #, no-wrap msgid "" "\n" " class FocusSelect(Plugin):\n" " plugin_name = 'Focus Select'\n" " plugin_description = 'Allows selecting last focused accessible.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:80 msgid "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 last_focused instance variable to None." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:86 #, no-wrap msgid "" "\n" " def init(self):\n" " pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')\n" " self.global_hotkeys = [('Inspect last focused accessible',\n" " self.inspectLastFocused,\n" " gtk.keysyms.e,\n" " gtk.gdk.CONTROL_MASK | gtk.gdk.MOD1_MASK)]\n" " self.last_focused = None\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:95 msgid "Notice that the global_hotkeys 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." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:100 msgid "In the \"focus\" event callback, we assign the last_focused instance variable with the accessible item that has just emitted the \"focus\" event." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:104 #, no-wrap msgid "" "\n" " def accEventFocusChanged(self, event):\n" " if not self.isMyApp(event.source):\n" " self.last_focused = event.source\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:109 msgid "In the hotkey action callback, we update the application wide node with the last focused accessible item, if we have recorded it:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:113 #, no-wrap msgid "" "\n" " def inspectLastFocused(self):\n" " if self.last_focused:\n" " self.node.update(self.last_focused)\n" " " msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:120 msgid "Creating a Console Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:121 msgid "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 Accerciser; you can verify it in the Application Tree View, for example." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:127 msgid "The needed import lines are:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:130 #, no-wrap msgid "" "\n" " from accerciser.plugin import ConsolePlugin\n" " import pyatspi\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:134 msgid "Then we add a class definition, with a plugin name and description:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:137 #, no-wrap msgid "" "\n" " class PushButtonFocus(ConsolePlugin):\n" " plugin_name = 'Push Button Focus'\n" " plugin_description = 'Print event when pushbutton get\\'s focus.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:142 msgid "We override the init method adding a register listener:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:145 #, no-wrap msgid "" "\n" " def init(self):\n" " pyatspi.Registry.registerEventListener(self.accEventFocusChanged, 'focus')\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:149 msgid "In the callback method, all push button events are printed." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:152 #, no-wrap msgid "" "\n" " def accEventFocusChanged(self, event):\n" " if event.source.getRole() == pyatspi.ROLE_PUSH_BUTTON:\n" " self.appendText(str(event)+'\\n')\n" " " msgstr "" #. (itstool) path: section/title #: C/howto_write_a_plugin.page:159 msgid "Creating a Viewport Plugin" msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:160 msgid "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." msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:166 msgid "First off, some mandatory import lines:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:169 #, no-wrap msgid "" "\n" " import gtk\n" " from accerciser.plugin import ViewportPlugin\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:173 msgid "Next, a class definition, with a name and description:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:176 #, no-wrap msgid "" "\n" " class Clicker(ViewportPlugin):\n" " plugin_name = 'Clicker'\n" " plugin_description = 'Test the \"click\" action in relevant accessibles.'\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:181 msgid "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 plugin_area instance variable contains a gtk.Frame that could be populated with all the plugin's widgets." msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:188 #, no-wrap msgid "" "\n" " def init(self):\n" " alignment = gtk.Alignment(0.5,0.5,0,0)\n" " self.click_button = gtk.Button('Click me!')\n" " alignment.add(self.click_button)\n" " self.plugin_area.add(alignment)\n" "\n" " self.click_button.connect('clicked', self.onClick)\n" "\n" " self.show_all()\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:199 msgid "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:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:204 #, no-wrap msgid "" "\n" " def accSupportedActions(self):\n" " try:\n" " ai = self.node.acc.queryAction()\n" " except NotImplementedError:\n" " action_names = []\n" " else:\n" " action_names = [ai.getName(i) for i in xrange(ai.nActions)]\n" " return action_names\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:214 msgid "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:" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:219 #, no-wrap msgid "" "\n" " def onAccChanged(self, acc):\n" " has_click = 'click' in self.accSupportedActions()\n" " self.click_button.set_sensitive(has_click)\n" " " msgstr "" #. (itstool) path: section/p #: C/howto_write_a_plugin.page:224 msgid "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?" msgstr "" #. (itstool) path: section/code #: C/howto_write_a_plugin.page:229 #, no-wrap msgid "" "\n" " def onClick(self, button):\n" " ai = self.node.acc.queryAction()\n" " action_names = [ai.getName(i) for i in xrange(ai.nActions)]\n" " ai.doAction(action_names.index('click'))\n" " " msgstr "" #. (itstool) path: info/title #: C/index.page:6 msgctxt "text" msgid "Accerciser" msgstr "" #. (itstool) path: info/title #: C/index.page:7 msgctxt "link" msgid "Introduction to Accerciser" msgstr "" #. (itstool) path: media/span #: C/index.page:26 msgid "Accerciser's logo" msgstr "" #. (itstool) path: page/title #: C/index.page:24 msgid "<_:media-1/> Accerciser" msgstr "" #. (itstool) path: note/title #: C/index.page:31 msgid "Before You Begin" msgstr "" #. (itstool) path: note/p #: C/index.page:32 msgid "Read the Universal Access Help" msgstr "" #. (itstool) path: section/title #: C/index.page:37 msgid "Getting Started" msgstr "" #. (itstool) path: section/title #: C/index.page:40 msgid "Examining the Accessibility of an Application" msgstr "" #. (itstool) path: section/title #: C/index.page:43 msgid "Advanced Topics" msgstr "" #. (itstool) path: info/title #: C/interface_viewer_plugin.page:4 msgctxt "sort" msgid "2. Interface Viewer Plugin" msgstr "" #. (itstool) path: info/desc #: C/interface_viewer_plugin.page:6 msgid "Examining your accessibility implementation" msgstr "" #. (itstool) path: page/title #: C/interface_viewer_plugin.page:25 msgid "Interface Viewer Plugin" msgstr "" #. (itstool) path: page/p #: C/interface_viewer_plugin.page:27 msgid "The Interface Viewer Plugin shows the information and controls provided by the AT-SPI interfaces present in each accessible item from the Application Tree View. 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." msgstr "" #. (itstool) path: figure/title #: C/interface_viewer_plugin.page:35 msgid "Examining a Menu with the Interface Viewer Plugin" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/interface_viewer_plugin.page:36 #: C/interface_viewer_plugin.page:42 msgid "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." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/interface_viewer_plugin.page:41 msgctxt "_" msgid "external ref='figures/interface_viewer_plugin.png' md5='c83c4113369ff2adc756dfd8614a48ed'" msgstr "" #. (itstool) path: section/title #: C/interface_viewer_plugin.page:49 msgid "Running the Interface Viewer Plugin" msgstr "" #. (itstool) path: section/p #: C/interface_viewer_plugin.page:50 msgid "The first step to run the Interface Viewer Plugin is to select an item in the Application Tree View. 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 Accerciser, assuming the selected item implements them:" msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:59 msgid "Accessible - This interface shows the selected item's child count (number of child widgets), description, states, relations, and attributes." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:65 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:73 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:80 msgid "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)." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:86 msgid "Document - This interface shows the selected item's document attributes and locale description, if there is one." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:91 msgid "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)." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:98 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:104 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:112 msgid "Streamable Content - This interface shows the selected item's content types and their corresponding URIs." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:117 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:124 msgid "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." msgstr "" #. (itstool) path: item/p #: C/interface_viewer_plugin.page:131 msgid "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." msgstr "" #. (itstool) path: info/title #: C/introduction.page:5 msgctxt "sort" msgid "1. What is Accerciser?" msgstr "" #. (itstool) path: info/desc #: C/introduction.page:6 msgid "An interactive accessibility explorer" msgstr "" #. (itstool) path: page/title #: C/introduction.page:25 msgid "What is Accerciser?" msgstr "" #. (itstool) path: page/p #: C/introduction.page:26 msgid "Accerciser 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. Accerciser comes with a set of plugins that you can use to create custom views of accessibility information." msgstr "" #. (itstool) path: page/p #: C/introduction.page:35 msgid "By default, Accerciser's main interface is comprised of three sections: a tree view of the entire desktop accessible hierarchy, namely Application Tree View, and two plugin areas. If you prefer to see all plugins in a single area, dividing Accerciser's interface in two sections instead of three, type ctrl +t. To re-divide it in three sections, just press ctrl+t again." msgstr "" #. (itstool) path: note/p #: C/introduction.page:44 msgid "Make sure that accessibility support is enabled in your desktop - otherwise, Accerciser will not work as expected." msgstr "" #. (itstool) path: figure/title #: C/introduction.page:51 msgid "Accerciser" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/introduction.page:52 #: C/introduction.page:56 msgid "Accerciser's default interface." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/introduction.page:55 msgctxt "_" msgid "external ref='figures/accerciser-view.png' md5='fe4edcab1458ebe903cc46878c53ee64'" msgstr "" #. (itstool) path: section/title #: C/introduction.page:63 msgid "Accerciser's intended audience" msgstr "" #. (itstool) path: section/p #: C/introduction.page:64 msgid "Accerciser 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 Accerciser beneficial since it exposes different events that could be expected from their target application." msgstr "" #. (itstool) path: section/title #: C/introduction.page:74 msgid "Accerciser's plugin architecture" msgstr "" #. (itstool) path: section/p #: C/introduction.page:75 msgid "Accerciser has an extensible, plugin-based architecture. Its core code is fairly small and most of its features are part of default plugins:" msgstr "" #. (itstool) path: item/p #: C/introduction.page:82 msgid "Interface Viewer - A plugin that lets you explore the AT-SPI interfaces provided by each accessible widget of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:88 msgid "AT-SPI Validator - A plugin that applies tests to verify the accessibility of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:94 msgid "Event Monitor - A plugin that displays AT-SPI events emitted by a target application as they occur." msgstr "" #. (itstool) path: item/p #: C/introduction.page:100 msgid "Quick Select - A plugin that provides global hotkeys for quickly selecting accessible widgets in Accerciser's Application Tree View." msgstr "" #. (itstool) path: item/p #: C/introduction.page:106 msgid "API Browser - A plugin that shows the interfaces, methods, and attributes available on each accessible widget of a target application." msgstr "" #. (itstool) path: item/p #: C/introduction.page:112 msgid "IPython Console - A plugin that provides a full, interactive Python shell with access to selected accessible widgets of a target application." msgstr "" #. (itstool) path: section/title #: C/introduction.page:122 msgid "More about Accessibility" msgstr "" #. (itstool) path: section/p #: C/introduction.page:123 msgid "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:" msgstr "" #. (itstool) path: item/p #: C/introduction.page:132 msgid "ATK Accessibility Toolkit - 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." msgstr "" #. (itstool) path: item/p #: C/introduction.page:139 msgid "AT-SPI - AT-SPI is the primary service interface by which assistive technologies query and receive notifications from running applications. Additional material is available from the KDE Accessibility Development Community." msgstr "" #. (itstool) path: item/p #: C/introduction.page:147 msgid "GNOME Desktop Accessibility Guide - A guide for anyone interested in how the GNOME Desktop supports the needs of users with disabilities." msgstr "" #. (itstool) path: item/p #: C/introduction.page:153 msgid "GNOME Accessibility Developer's Guide - A guide for developers who want to ensure their applications are accessible to the widest audience of users." msgstr "" #. (itstool) path: item/p #: C/introduction.page:159 msgid "GNOME Accessibility Project - The GNOME Accessibility Project includes the guides listed above along with many other useful links for users, developers and system administrators." msgstr "" #. (itstool) path: info/title #: C/ipython_plugin.page:4 msgctxt "sort" msgid "2. IPython Plugin" msgstr "" #. (itstool) path: info/desc #: C/ipython_plugin.page:6 msgid "When all else fails" msgstr "" #. (itstool) path: page/title #: C/ipython_plugin.page:25 msgid "IPython Console Plugin" msgstr "" #. (itstool) path: page/p #: C/ipython_plugin.page:26 msgid "The IPython Console Plugin allows real-time interaction with a selected item in the Application Tree View. Since the IPython Console Plugin is an interactive Python shell, you can import any Python modules you want." msgstr "" #. (itstool) path: note/p #: C/ipython_plugin.page:33 msgid "Make sure you have the standalone package IPython installed in your system. Otherwise, the IPython Console Plugin will not work properly." msgstr "" #. (itstool) path: section/title #: C/ipython_plugin.page:40 msgid "Running the IPython Console Plugin" msgstr "" #. (itstool) path: section/p #: C/ipython_plugin.page:41 msgid "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'." msgstr "" #. (itstool) path: section/p #: C/ipython_plugin.page:46 msgid "Pressing Tab shows completions for the current command in the console, what can be useful for discovering pyatspi methods." msgstr "" #. (itstool) path: figure/title #: C/ipython_plugin.page:52 msgid "Investigating selected items with the IPython Console Plugin" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/ipython_plugin.page:53 #: C/ipython_plugin.page:58 msgid "The IPython Console Plugin lets you investigate methods, constants, and properties related to a selected item in the Application Tree View." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/ipython_plugin.page:57 msgctxt "_" msgid "external ref='figures/IPython_plugin.png' md5='4e25a8b12536302b54f4ea31e2d142c9'" msgstr "" #. (itstool) path: note/p #: C/ipython_plugin.page:66 msgid "Typing help(acc) in the IPython Console Plugin shows some useful documentation about the corresponding selected accessible item." msgstr "" #. (itstool) path: info/title #: C/preferences.page:4 msgctxt "sort" msgid "4. Preferences" msgstr "" #. (itstool) path: info/desc #: C/preferences.page:6 msgid "Customizing Accerciser's preferences" msgstr "" #. (itstool) path: page/title #: C/preferences.page:25 msgid "Configuring Accerciser" msgstr "" #. (itstool) path: page/p #: C/preferences.page:26 msgid "To configure plugins, hotkeys, and highlighting, do either ctrl+p or Edit Preferences to open a dialog." msgstr "" #. (itstool) path: figure/title #: C/preferences.page:32 msgid "Accerciser preferences" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/preferences.page:33 #: C/preferences.page:37 msgid "Accerciser allows you to configure plugins, global hotkeys, and widget's highlighting." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/preferences.page:36 msgctxt "_" msgid "external ref='figures/accerciser_preferences.png' md5='35df6feb4a5dfc905331b45390783ad5'" msgstr "" #. (itstool) path: section/title #: C/preferences.page:44 msgid "Configuring plugins" msgstr "" #. (itstool) path: section/p #: C/preferences.page:45 msgid "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 Accerciser's interface." msgstr "" #. (itstool) path: section/p #: C/preferences.page:50 msgid "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." msgstr "" #. (itstool) path: figure/title #: C/preferences.page:57 msgid "Configuring plugins' preferences" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/preferences.page:58 #: C/preferences.page:62 msgid "Accerciser allows you to adjust your plugins' preferences." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/preferences.page:61 msgctxt "_" msgid "external ref='figures/plugins.png' md5='aa997acc25c59cf82a788bb8a97f8654'" msgstr "" #. (itstool) path: note/p #: C/preferences.page:69 msgid "You may bypass the Preferences dialog by using drag and drop to move a plugin from a location to another." msgstr "" #. (itstool) path: section/title #: C/preferences.page:76 msgid "Configuring global hotkeys" msgstr "" #. (itstool) path: section/p #: C/preferences.page:77 msgid "Some elements in Accerciser may enable certain functionalities via hotkeys. An example is the Quick Select Plugin. 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 ctrl, alt, and shift checkboxes to enable or disable these modifiers." msgstr "" #. (itstool) path: figure/title #: C/preferences.page:86 msgid "Configuring global hotkeys' preferences" msgstr "" #. (itstool) path: figure/desc #: C/preferences.page:87 msgid "Accerciser allows you to adjust your hotkeys' preferences." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/preferences.page:90 msgctxt "_" msgid "external ref='figures/global-hotkeys.png' md5='e624ecfca646f771d03ea3feed4a5dcb'" msgstr "" #. (itstool) path: media/p #: C/preferences.page:91 msgid "Accerciser allows you to adjust your plugin's preferences." msgstr "" #. (itstool) path: section/title #: C/preferences.page:99 msgid "Configuring widget's highlighting" msgstr "" #. (itstool) path: section/p #: C/preferences.page:100 msgid "Some of Accerciser's elements, such as the global hotkey ctrl+alt+/, 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." msgstr "" #. (itstool) path: figure/title #: C/preferences.page:107 msgid "Configuring highlighting preferences" msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/preferences.page:108 #: C/preferences.page:112 msgid "Accerciser allows you to adjust your highlighting preferences." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/preferences.page:111 msgctxt "_" msgid "external ref='figures/highlighting.png' md5='a7eeb359d726fecba85b13b92a41b919'" msgstr "" #. (itstool) path: info/title #: C/quick_select_plugin.page:4 msgctxt "sort" msgid "5. Quick Select Plugin" msgstr "" #. (itstool) path: info/desc #: C/quick_select_plugin.page:6 msgid "Locating the object you need" msgstr "" #. (itstool) path: page/title #: C/quick_select_plugin.page:25 msgid "Quick Select Plugin" msgstr "" #. (itstool) path: page/p #: C/quick_select_plugin.page:26 msgid "The Quick Select Plugin does not provide a visible interface like the other default Accerciser plugins - instead, it adds facilities for quickly selecting items in the Application Tree View via global hotkeys. Originally, these hotkeys were part of Accerciser's core code, turning into the Quick Select Plugin later." msgstr "" #. (itstool) path: page/p #: C/quick_select_plugin.page:32 msgid "The Quick Select Plugin provides two global hotkeys. Pressing ctrl+alt+a selects the last focused accessible widget in the Application Tree View. Pressing ctrl+alt+/ selects the accessible widget under the pointer in the Application Tree View and highlights it in the target application." msgstr "" #. (itstool) path: info/title #: C/validator_plugin.page:4 msgctxt "sort" msgid "3. Validator Default Plugin" msgstr "" #. (itstool) path: info/desc #: C/validator_plugin.page:6 msgid "Testing an application for accessibility" msgstr "" #. (itstool) path: page/title #. (itstool) path: figure/title #: C/validator_plugin.page:25 #: C/validator_plugin.page:32 msgid "AT-SPI Validator Plugin" msgstr "" #. (itstool) path: page/p #: C/validator_plugin.page:26 msgid "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." msgstr "" #. (itstool) path: figure/desc #. (itstool) path: media/p #: C/validator_plugin.page:33 #: C/validator_plugin.page:38 msgid "The AT-SPI Validator Plugin generates useful reports for verifying the accessibility of a target application." msgstr "" #. (itstool) path: figure/media #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: C/validator_plugin.page:37 msgctxt "_" msgid "external ref='figures/validator_report.png' md5='a21bc11a8fc1f8d7976d7ea8a3dc80d2'" msgstr "" #. (itstool) path: section/title #: C/validator_plugin.page:46 msgid "Running the AT-SPI Validator Plugin" msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:47 msgid "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." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:53 msgid "After selecting an item, choose a validation schema in the combobox and press the Validate button to start generating the report. If you want to cancel the execution, just press the Validate button again." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:59 msgid "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 Application Tree View and highlighted in the target application." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:64 msgid "If you want to save the generated report in your system, just click the Save button. To clear the validation screen, press the Clear button." msgstr "" #. (itstool) path: section/p #: C/validator_plugin.page:68 msgid "To get more information about an error in the generated report, make sure the corresponding item is selected and press the Help button. It will open a Help Page in your default browser." msgstr ""