| /******************************************************************************* |
| * Copyright (c) 2007 IBM Corporation and Others |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Hisashi MIYASHITA - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.actf.ai.navigator; |
| |
| /** |
| * INavigatorUI represents a browser tab of the application. |
| * This interface defines methods to control browsers from user interface part. |
| */ |
| public interface INavigatorUI { |
| // Tree Navigation Mode |
| /** |
| * Mute the media volume. |
| */ |
| void muteMedia(); |
| /** |
| * Decrease the volume of the media which are included in the browser. |
| */ |
| void volumeDownMedia(); |
| /** |
| * Increase the volume of the media which are included in the browser. |
| */ |
| void volumeUpMedia(); |
| /** |
| * Decrease the volume of the media in minimal step. |
| */ |
| void minimalVolumeDownMedia(); |
| /** |
| * Increase the volume of the media in minimal step. |
| */ |
| void minimalVolumeUpMedia(); |
| |
| /** |
| * Change the audio track to the previous one. |
| */ |
| void previousTrack(); |
| /** |
| * Change the audio track to the next one. |
| */ |
| void nextTrack(); |
| /** |
| * Stop the media. |
| */ |
| void stopMedia(); |
| /** |
| * Play the media. The medias should be controllable from the out of the application. |
| * For example, shortcut key or something. |
| */ |
| void playMedia(); |
| /** |
| * Pause the media. |
| */ |
| void pauseMedia(); |
| /** |
| * Do fast reverse of the media. |
| */ |
| void fastReverse(); |
| /** |
| * Do fast forward of the media. |
| */ |
| void fastForward(); |
| |
| /** |
| * Stop the speaking of the voice engine. |
| */ |
| void stopSpeak(); |
| |
| /** |
| * Set the speed of the voice engine to faster. |
| */ |
| void speechSpeedUp(); |
| /** |
| * Set the speed of the voice engine to slower. |
| */ |
| void speechSpeedDown(); |
| |
| /** |
| * Move the current position to the tree parent. |
| */ |
| void treeLeft(); |
| /** |
| * Move the current position to the tree children. |
| */ |
| void treeRight(); |
| /** |
| * Move the current position the the previous sibling. |
| * If there is a previous sibling then the current position will be the sibling. |
| * If there is no previous sibling then the current position will be not changed. |
| */ |
| void treeUp(); |
| /** |
| * Move the current position to the next sibling |
| * If there is a next sibling then the current position will be the sibling. |
| * If there is no next sibling then the current position will be not changed. |
| */ |
| void treeDown(); |
| |
| /** |
| * Move the current position to the top of the tree. First node of the tree. |
| */ |
| void treeTop(); |
| /** |
| * Move the current position to the bottom of the tree. Last node of the tree. |
| */ |
| void treeBottom(); |
| |
| /** |
| * Move the current position to the next node which can be read. |
| * The traverse is executed in depth first strategy. |
| */ |
| void traverseDown(); |
| /** |
| * Move the current position to the previous node which can be read. |
| * The traverse is executed in opposite direction of {@link #traverseDown()}. |
| */ |
| void traverseUp(); |
| |
| /** |
| * Send click event or command to the node of the current position. |
| * The user can click the element by alternative way. |
| */ |
| void click(); |
| /** |
| * Speak the current status of the application. |
| */ |
| void speakCurrentStatus(); |
| /** |
| * Speak the media status of the browser. |
| */ |
| void speakMediaStatus(); |
| |
| /** |
| * Move the current position to the next header element. It will stop at H1, H2, H3, H4 ,H5, H6, and headers defined by the metadata. |
| */ |
| void nextHeader(); |
| /** |
| * Move the current position to the previous header element. It will stop at H1, H2, H3, H4 ,H5, H6, and headers defined by the metadata. |
| */ |
| void previousHeader(); |
| |
| /** |
| * Move the current position to the next inputable element. Text input, text area, select and so on. |
| */ |
| void nextInputable(); |
| /** |
| * Move the current position to the previous inputable element. Text input, text area, select and so on. |
| */ |
| void previousInputable(); |
| |
| /** |
| * Move the current position to the next link element. |
| */ |
| void nextLink(); |
| /** |
| * Move the current position to the previous link element. |
| */ |
| void previousLink(); |
| |
| /** |
| * Move the current position to the next object element. Flash, Media Player, and so on. |
| */ |
| void nextObject(); |
| /** |
| * Move the current position to the previous object element. Flash, Media Player, and so on. |
| */ |
| void previousObject(); |
| |
| /** |
| * Move the current position to the node of the left cell, if the current position is table cell. |
| */ |
| void cellLeft(); |
| /** |
| * Move the current position to the node of the right cell, if the current position is table cell. |
| */ |
| void cellRight(); |
| /** |
| * Move the current position to the node of the upper cell, if the current position is table cell. |
| */ |
| void cellUp(); |
| /** |
| * Move the current position to the node of the lower cell, if the current position is table cell. |
| */ |
| void cellDown(); |
| |
| // Browser control |
| /** |
| * Refresh page of the current tab of the browser. |
| */ |
| void navigateRefresh(); |
| // void goForward(); |
| // void goBackward(); |
| |
| // select Fennec; |
| /** |
| * Change the metadata to the next one. |
| * metadata1 -> metadata2 -> ... -> none -> matadata1 -> ... |
| */ |
| void selectNextFennec(); |
| |
| // Form Mode; |
| /** |
| * The mode of application is changed from form mode to tree navigation mode. |
| */ |
| void exitFormMode(); |
| /** |
| * Do submit of the current form element. |
| */ |
| void submitForm(); |
| |
| // browser address. |
| /** |
| * The keyboard focus is moved into the address bar of the application. |
| */ |
| void enterBrowserAddress(); |
| |
| // tab operations. |
| /** |
| * Close the current focused tab. |
| */ |
| void closeTab(); |
| |
| /** |
| * Open the search dialog to search text in the browser. |
| * The option of the direction is set to forward. |
| */ |
| void searchNext(); |
| /** |
| * Open the search dialog to search text in the browser. |
| * The option of the direction is set to backward. |
| */ |
| void searchPrevious(); |
| |
| /** |
| * Move the current position to the next heading level 1 element. H1. |
| */ |
| void nextHeader1(); |
| /** |
| * Move the current position to the previous heading level 1 element. H1. |
| */ |
| void previousHeader1(); |
| /** |
| * Move the current position to the next heading level 2 element. H2. |
| */ |
| void nextHeader2(); |
| /** |
| * Move the current position to the previous heading level 2 element. H2. |
| */ |
| void previousHeader2(); |
| /** |
| * Move the current position to the next heading level 3 element. H3. |
| */ |
| void nextHeader3(); |
| /** |
| * Move the current position to the previous heading level 3 element. H3. |
| */ |
| void previousHeader3(); |
| /** |
| * Move the current position to the next heading level 4 element. H4. |
| */ |
| void nextHeader4(); |
| /** |
| * Move the current position to the previous heading level 4 element. H4. |
| */ |
| void previousHeader4(); |
| /** |
| * Move the current position to the next heading level 5 element. H5. |
| */ |
| void nextHeader5(); |
| /** |
| * Move the current position to the previous heading level 5 element. H5. |
| */ |
| void previousHeader5(); |
| /** |
| * Move the current position to the next heading level 6 element. H6. |
| */ |
| void nextHeader6(); |
| /** |
| * Move the current position to the previous heading level 6 element. H6. |
| */ |
| void previousHeader6(); |
| |
| /** |
| * Move the current position to the next list item. |
| */ |
| void nextListItem(); |
| /** |
| * Move the current position to the previous list item. |
| */ |
| void previousListItem(); |
| /** |
| * Move the current position to the next block. |
| * The block is defined by heuristic, it might be a proper size of information block. |
| */ |
| void nextBlock(); |
| /** |
| * Move the current position to the previous block. |
| * @see #nextBlock(); |
| */ |
| void previousBlock(); |
| |
| /** |
| * Move the current position to the next media object. Flash, Video player, and so on. |
| */ |
| void nextMedia(); |
| /** |
| * Move the current position to the previous media object. Flash, Video player, and so on. |
| */ |
| void previousMedia(); |
| |
| /** |
| * Open the system default browser with the URL which is opened in the current focused browser. |
| */ |
| void launchBrowser(); |
| /** |
| * Toggle show/hide the views that are the left part of the application. |
| */ |
| void toggleLeftViewsShowing(); |
| /** |
| * Start the continuous speaking from the current position. |
| * The speaking can be stopped by using {@link #stopSpeak()}. |
| */ |
| void speakAll(); |
| |
| /** |
| * Open the file dialog to export the all metadata entry. |
| */ |
| void exportMetadata(); |
| |
| /** |
| * Move the current position to the node which has specified access key. |
| * @param key The key code of the access key. |
| */ |
| void jumpToAccessKey(char key); |
| /** |
| * Open the dialog which shows the list of the access key in the page. |
| */ |
| void showAccessKeyList(); |
| |
| // force start. |
| /** |
| * Do restart the analyze of the page. |
| * It is used when the analyze is failed because of the timing or something. |
| */ |
| void forceRestart(); |
| /** |
| * Toggle enable/disable the audio description function. |
| */ |
| void toggleDescriptionEnable(); |
| /** |
| * Change the focus to the next tab. |
| */ |
| void nextTab(); |
| /** |
| * Change the focus to the previous tab. |
| */ |
| void prevTab(); |
| |
| // User Annotation Extension. |
| /** |
| * Move the current position to the next "alterable" element. |
| * "Alterable" means that the text of the element can be replaced by the application. |
| * For example, image alternative text. |
| */ |
| void nextAlterable(); |
| /** |
| * Move the current position to the previous "alterable" element. |
| * @see #nextAlterable(); |
| */ |
| void previousAlterable(); |
| /** |
| * Open the dialog to edit the alternative text. |
| */ |
| void editAltText(); |
| /** |
| * Make a landmark for the current position. |
| * If there is a landmark on the element of the current position, then the landmark will be removed. |
| */ |
| void makeLandmark(); |
| /** |
| * Save the information about the alternative text and the landmark (user annotation) into the file. |
| */ |
| void saveUserInfo(); |
| /** |
| * Remove the user annotation which is provided for the current page. |
| */ |
| void removeUserInfo(); |
| |
| // repair |
| /** |
| * Do repair Flash content in the current page. This is a prototype function. |
| */ |
| void repairFlash(); |
| } |