GB2342477A - Programming interface for graphical user interface - Google Patents

Programming interface for graphical user interface Download PDF

Info

Publication number
GB2342477A
GB2342477A GB9915171A GB9915171A GB2342477A GB 2342477 A GB2342477 A GB 2342477A GB 9915171 A GB9915171 A GB 9915171A GB 9915171 A GB9915171 A GB 9915171A GB 2342477 A GB2342477 A GB 2342477A
Authority
GB
United Kingdom
Prior art keywords
information
response
user interface
operator
assistive technology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9915171A
Other versions
GB2342477B (en
GB9915171D0 (en
Inventor
Peter A Korn
William D Walker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of GB9915171D0 publication Critical patent/GB9915171D0/en
Publication of GB2342477A publication Critical patent/GB2342477A/en
Application granted granted Critical
Publication of GB2342477B publication Critical patent/GB2342477B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

An object in a computer's user interface has an application programming interface ("APE") for facilitating transfer of information between an assistive technology program (i.e. assisting disabled, e.g. sight-impaired, users) and the object. The API includes arrangements for enabling the object to provide information in response to calls of a plurality of types including at least: (A) a name call type, in response to which the object provides information in text form that is useful to an operator; (B) a description call type, in response to which the object provides information in text form that describes at least one operation performed by the object; (C) a role call type, in response to which the object provides information identifying its role in the user interface; and (D) a state call type, in response to which the object provides information identifying its current state. The API further includes arrangements for enabling the object to respond to other types of calls, including indicating (i) whether the object can perform one of more actions, (ii) whether the object has a graphical representation that can be rendered by a video display device, (iii) whether the object, allows its children in the graphical user interface hierarchy to be selected, and, if so, which one(s) is (are) currently selected, (iv) whether the object presents editable textual information on the video display device, and (v) whether the object supports a numerical value; and, if so, whether controlling each of these matters.

Description

2342477 CONSISTENT AND UNIFORM PROGRAMMING INTERFACE ARRANGEMENT AND
METHOD FOR ENABLING "ASSISTEIVE TECHNOLOGY" PROGRAMS TO OBTAIN INFORMATION FROM, AND TO CONTROL, GRAPHICAL USER INTERFACE OBJECTS Theinventi on re I ates genera I I y to the Fie I do fdigital computer systems, and more particularly to user interfaces by which digital computer systems receive input information ftorn an operator and to provide output information to the operator. The invention particularly provides an arrangement in which objects comprising a graphical user interface, which may be displayed by a digital computer system on a video display device, are provided with a consistent and uniform pro-ramming interface, which "assistive technology" programs can use to obtain information therefrom and further use to control the respective objects.
BACKGROUND OF THE INVENTIO.N
The development of inexpensive and high-powered computer systems, such as personal computers, computer workstations and the like has led to an increase in the availability of sophisticated computer technology to large numbers of people, Generally, a personal computer, 0 01 work-station or the like includes processor, a video display through which the computer can display information to an operator, and operator input devices such as a keyboard, a pointing devices such as a mouse or the like, which the operator can use to input information to the computer. The development of graphical user interfaces (GUI's) has made computers easier for many to use. In a graphical user interface, the computer displays information to an operator in graphical form on a video display, and allows the operator to manipulate the displayed graphical information to control the computer by manipulating the pointing device.
Z While graphical user interfaces have made it easier for many people to use a computer, it is I I clear that problems can arise for people with various kinds of disabilities who wish to use a computer, particularly forpeople who are sight-impaired, and thus may find it difficult to see images on a video display, or who are unable to manipulate a mouse or keyboard. Several operating systems, including for example, Microsoft Corporation's Windows 95 operating system, allow an I I - operator to selectively enable various "accessibility" options that can ease such problems, and specialized computer hardware devices and computer programs can be used to further ease such problems. For example, Windows 95 provides various optional methods of keyboard and/or mouse input that may be used by, for example, people who have difficulty in manipulating such operator input devices to alleviate such difficulties. In addition, for people who may be completely unable to use keyboards, mice or the like, a computer can also include, as an operator input device, a microphone through which the operator can input audio information, which can be translated by voice recognition programs into input information for use by the computer. For sight-impaired people, Windows 95 allows an operator to enable the computer to provide large and/or high-contrast video images on the video display. In addition, an operator can make use of screen reader programs and the like to provide audio descriptions of the images displayed on the video display through speakers provided on the computer.
Several problems arise in connection with "accessibility" options as currently provided. Generally, in the case of the graphical user interface information that is normally displayed on a video display device, current accessibility options merely serve to interpret the visual manifestations for an operator, rather than providing independent types of manifestations. In addition, current accessibility options provide such an interpretation for all of the elements of the graphical user interface, rather than allowing an operator to selectively determine the elements for which alternate types of manifestations are to be provided. A further problem is that the objects comprising a graphical user interface do not necessarily have a consistent or uniform programming interface, which makes it difficult for programs, such as "assistive technology" programs, which assist people with impairments, to interact with them (that is, the objects) in a uniform manner.
The invention provides a new and improved arrangement in which objects comprising a graphical user interface, which may be displayed by the digital computer system on a video display device, are provided with a consistent and uniform programming interface, which "assistive technology" programs can use to obtain information therefrom and use to control the respective objects; In bnef summary, the invention provides a user interface object for use in connection with a computer for processing an assistive technology program. The object has one of a predetermined set ofroles in the user interface, and the object further being in one of a predetermined set of states. The object has an application programming interface ("APP) for facilitating transfer of information bet-,veen the assistive technology program and the object. The API includes arrangements for enabling the object to provide information in response to calls of a plurality of types including at least
A. a name call type, in response to which the object provides information in text form that is useful to an operator; B a description call type, in response to which the object provides information in text form that describes at least one operation performed by the object in the digital computer system; C. a role call type, in response to which the object provides information identifying its role in the user interface; and D. a state call type, in response to which the ob'ect provides information identifina its C> current state.
The API further includes arrangements for enabling the object to respond to other types of calls, including indicating (1) whether the object can perform one or more actions, (11) whether the object has a graphical representation that can be rendered by a video display device, (111) whether the object, allows its children in the graphical user interface hierarchy to be selected, and, if so, which one(s) is (are) currently selected (1v) whether the object presents editable textual information on the video display device, and (v) whether the object supports a numencal value, and, if so, whether controlling each of these matters.
The API provides a uniform and consistent interface which an assistive technology program can use in connection with objects in the graphical interface. The API is also extensible, to permit information relating to other aspects of graphical user interfaces may be obtained by "assistive technology" programs from objects related thereto, for example, information relating to tables as displayed by the video display device 13, layouts of child objects as displayed by the video display device, and the like.
BRIEF DESCRIPTION OF THE DR--kWINGS
This invention is pointed out with particulanty in the appended claims. The above and further advantages of this invention may be better understood by referring to the following descnption taken in conjunction with the accompanying drawings, in which:
W FIG. 1 depicts an illustrative digital computer system including an arrangement in which 0 objects comphsing a graphical user interface, which may be displayed by the digital computer system on a video display device, areprovided with a consistent and uniform programming interface, which "assistive technology" programs can use to obtain information therefrom, and use to control the respective objects., FIG. 2 is a functional block diagram of an arrangement constructed in accordance with the invention.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
FIG. I depicts an illustrative computer system 10 including an arrangement for facilitating the selective generation of multiple types of manifestations forelements ofagraphical userinterface, constructed in accordance with the invention. With reference to FIG. 1, the computer system 10 in one embodiment includes a processor module I I and operator interface elements comprising operator input components such as a keyboard 12A and/or a mouse 12B (generally identified as operator input element(s) 12) and operatorOUtput components suchas avideo display device 13 with integral speakers 15. The illustrative computer system 10 is of the conventional stored-program computer architecture.
The processor module I I includes, forexample, processor, memory and mass storage devices I such as disk and/or tape storage elements (not separately shown) which perform processing and storaae operations in connection with digital data provided thereto. The mass storage subsystems 0 In may include such devices as disk or tape subsystems, optical disk storage devices and CD-ROM devices in which information may be stored and/or from which information may be retrieved. One ormoreofthemass storage subsystems may utilize removable storage media whichmaybe removed and installed by an operator, which may allow the operator to load programs and data into the digital computer system 10 and obtain processed data therefrom. Under control o I control information,provided thereto by the processor, information stored in the mass storage subsystems may be transferred to the memory for storage. After the information is stored in the memory, the processor may retrieve it from the memory for processing. After the processed data is generated, the processor 0 may also enable the mass storage subsystems to retrieve the processed data from the memory for relatively long-terrn storage.
The operator input element(s) 12 are provided to permit an operator to input information for processing and/or control of the digital computer system 10. The video display device 13 and speakers 15 are provided to, respectively, display visual output information on a screen 14, and audio Output information, which are generated by the processor module 11, which may include data that the operator may input for processing, information that the operator may input to control processing, as well as information generated dunng processing. The processor module 11 generates information 0 for display by the video display device 13 using a so-called "graphical user interface" ("GUl"), in which information for various applications programs is displayed using various "windows." Although the computer system 10 is shown as comprising particular components, such as the keyboard 12A and mouse 12B for receiving input information from an operator, and a video display device 13 for displaying output information to the operator, it will be appreciated that the computer system 10 may include a variety of components in addition to or instead of those depicted in FIG. 1'.
In addition, the processor module I I may include one or more network or communication ports, generally identified by reference numerai 16, which can be connected to communication links to connect the computer system 10 in a computer network, or to other computer systems (not shown) over, for example, the public telephony system. The ports enable the computer system 10 to transmit information to, and receive information from, other computer systems and other devices in the network.
The invention provides an arrangement, which will be described below in connection with FIG. 2, in which objects comprising a graphical user interface, which may be displayed by the digital computer system 10 on the video display devicel-3), are provided with a consistent and uniform programming interface, which "assistive technology" programs can use to obtain information therefrom and to control the respective objects. Assistive technology programs typically are used to assist operators who have various kinds of disabilities to use computers, and thus may need to interact with other elements of the computer so that they can perform operations which can, for example, provide a non-visual indication of the event. Thus, in connection with an assistive technology program which is used in connection with a graphical user interface may, when an event 0 occurs in connection with an object in the graphical user interface which would typically be 1 J 1 1 1 1 1 displayed by the video display device to provide a visual notification ofthe event to the operator, also enable speakers to generate a sound when the event occurs, thereby to provide an audible ification of the event to the operator, and, in that manner, assist a sight-impaired person to use noti 1 1 1::> the computer. In accordance with the invention, the objects comprising the graphical user interface provide a minimum consistent and uniform programming interface which may be called by the assistive technology programs to obtain information therefrom, which programming interface may be readily extended according to the needs of the particular object. However, since the objects ide at least a minimum consistent and uniform programming interface, the assistive technology provi 1 1 0 programs will be ensured of being able to inter-operate with those objects provided that their (that 0 is, the assistive technology programs') interactions with the objects are limited to that minimum programming interface.
FIG, 2 depicts a functional block diagram of an arrangement 40 constructed in accordance with the invention. With reference to FIG. 2, the arrangement 40 comprises one or more assistive technology programs generally identified by reference numeral 41 and a graphical user interface C 1) represented by an illustrative window 20, which inter-operate through an applications prograrnming interface (API) 42. The assistive technology programs 41 may comprise any of a number of types of programs which can assist operators who may be impaired to use the digital computer system. For example, for operators who are si ght- impaired, the assistive technology programs may enable the digital computersystem 10 to provide, through the speakers 15, audible manifestations of events 1 which occur in connection with elements compdsing the graphical user interface. In addition, for operators who are both sight- and hearing- impaired, the assistive technology programs may enable 0 W the digital computer system 10 to provide, through an Braille output generator (not shown), a Braille :> C> manifestation of events which occur in connection with elements comprising the graphical user l> interface. Similarly, for operators who have other types of impairments, such as operators who are unable to manipulate the operator input elements 12A, 12B, assistive technology programs may make use of audio information provided tl-Lrough alternate operator element, such as a microphone, to generate operator input information for controlling the digita computer system 10.
0 Before proceeding further, it may be useful to provide a description of a the illustrative window 20 used in one embodiment of the graphical user interface with which the assistive technology programs 41 may be used. 2. With reference to FIG. 2, window 20 includes a number of window elements which are typical of windows that may be used in connection with applications and other programs which run under the Microsoft WindoWSTNI operating system, including a title bar 2 1, a menu bar 22, horizontal and vertical scroll bars 23 and 24, and a status bar 25, as well as an information display area 26. The title bar 21 identifies the title of the applications program, and the menu bar 22 provides a number of textual pull-down menu items which an operator can use to issue commands to control the applications program. As is conventional, the user may, by inputting appropriate keystroke patterns on the keyboard 12A or by controlling the position of an on-screen pointer (not shown) by manipulating the mouse 12B, select and actuate ones of the menu items and thereby issue the corresponding commands to the applications program. In addition, a window 20 may include a button bar 27 including a number of buttons 27(1) through 27(N) each of which may also be associated with a co=and for controlling the applications program; the operator can issue a command to the applications program through the button bar 27 by actuating the appropriate button in a similar manner.
Window 20 includes several other elements, including system menu elements 30A and 30B and two window control push-buttons 31 and 32. The system menu elements 30A and 30B provide a system menu which enables the operator to issue commands to the operating system program to control the computer system 10. The window control push-buttons 31 and 32 enable the operator to control various aspects of the window 20. For example, if the operator inputs a predetermined keystroke combination using the keyboard 12A or suitably manipulates the mouse 12B to actuate the window control push-button 3 1, the window 20 may switch between occupying the entire screen 14 of the video display device 13, and occupying a defined area, or "window" which is somewhat less that the full screen. If the operator similarly inputs a predetermined keystroke combination or suitably manipulates the mouse 12B to actuate the window control push- button 32, the window 20 may minimize itself to an icon (not shown) displayed by the video display device 13.
The applications program can use the information display area 26 to display program 0 information to a user. If the applications program has more program infon- nation which may be displayed than can be displayed in the infom-lation display area 26, the window 20 may provide the horizontal and vertical scroll bars 23 and 24 to enable the user to scroll through the information. Each scroll bar 23 and 24 includes a slider 23(l), 24(l) whose horizontal or vertical position can be controlled by the operator by manipulating the on-screen mouse pointer to control the portion of the applications program I s information that is displayed on the video display device 13.
While operating, the applications program may, in addition to the window 20, make use of a number of other graphical display devices, including dialog boxes, message boxes and the like.
0 in The applications program may use a message box to display a variety of types of information, including but not limited to error messages if the applications program detects error conditions in execution of commands or other processing. When a command requires entry by an operator of values for various parameters and other control information for execution, an applications program may use a dialog box to obtain such values from the operator. Typically, a dialog box will include several window elements which are similar to those described above in connection with window 20, including a title bar and an information display area, but in the case of a dialog box Jhe information display area will be constrained to identify the types of parameters and other control information to be supplied by the operator, as well as blank areas in which the operator can insert the parameter and control information values. Other graphical display devices will be known to those skilled in the art.
Each of the elements described above in connection with the illustrative window 20 comprises an object with which an assistive technology program 41 may need to inter-operate, and from which the assistive technology program 41 may need to obtain information, in order to assist 0 impaired operators in using the digital computer system 10. The assistive technology programs 41 make calls to each object through its (that is, the object's) application programming interface ("APP). API's for the objects comprising the illustrative window are identified by reference numeral 42, and actually comprise a portion of the respective object. In accordance with the invention, all of the objects in the illustrative window 20, and, indeed, all of the objects which can be used in the graphical user interface, are associated with the same minimum API, to ensure that, when an assistive technology program 41 makes a call to an object using, a call in the minimum A-PI, the assistive technology program 41 will be ensured of receiving a response that is meaningful to it (that is, the assistive technology program 4 1) and that it can use in its subsequent processing operations. An object may provide an API 42 that is extended from this minimum API, but the calls in the extension need not be uniform or consistent with calls in extensions provided by other objects.
In further accordance with the invention the minimum API provided by an object comprising the graphical user interface include calls which the assistive technology programs 41 may use to obtain a name for the object, a description of the object, and role and state information for the object. In response to a call for the object's name from an assistive technology program, the object provides its name, which preferably consists of textual information which will be meaningful to an operator. For example, if an object comprises a push-button which has associated therewith textual information such as "OK," the name of the object, which would be returned in response to a call therefor from an assistive technology program, would comprise the textual information "OK." In response to a call for the description of the object from an assistive technology program, the object provides a description, which also preferably consists of textual information which would be meaningful to an operator. For example, if the object is associated with a box which enables the operator to save a file with a new name, the description may comprise textual information "Enables a file to be saved with a new name, " which would be returried to the assistive technology program 41 in response to a call to the object for its description.
In response to a call to an object requesting its role, the object provides one of a plurality of D pre-defined role identifiers indicating its role in the graphical user interface. In one embodiment, pre-defined state identifiers include such identifiers as "window," "check_box," "slider," "push_button," "too 1-bar, " "icon" and the like, which identifies the object's role in the graphical user interface. In addition, in that embodiment, one pre-defined identifier compnises "unknown," which can be used to indicate that the object has a role that has not been pre-defined.
In response to a call to an object requesting, its state, the object provides one of a plurality of predefined state identifiers identifying its current state. In one embodiment, pre-defined state identifiers include such identifiers as "checked" (useful in connection with, for example, an object comprising a check box), "pressed" (useful in connection with, for example, an object comprising a push button), "visible" (useful in connection with, for example, an object whose image is visible on the video display device 13), "Invisible"(useful in connection with, for example, an object whose image is obscured by another object on the video display device 13), "focused," 'Tunavai lab le, ""busy," "editable" (useful in connection with, for example, an object which contains editable text), "expandable" (useful in connection with, for example, an object which can be expanded), "expanded" (useful in connection with, for example, an object which is currently in expanded form), "iconified" (useful in connection with, for example, an object whose representation on the video display device is in the form of an icon), and thelike. Other state identifiers which may be defined for use in the collection of state identifiers wi 11 be apparent to those skilled in the arl.
By providing a set of pre-defined role identifiers and state identifiers which the objects can ID return in response to calls therefor from the assistive technology programs 41, the inventive API Z 0 ensures that the assistive technology programs will be able to consistently identify the roles and states of the respective objects which may be utilized in the grapffical user interface.
The API 42 also provides a mechanism by which the assistive technology progams 41 can obtain more specific information about an object, including I (1) whether the object can perform one or more actions', (11) whether the object has a graphical representation that can be rendered by the video display device 13, -I?- (111) whether the object, allows its children in the ocraphical user interface hierarchy to be selected, and, if so, which one(s) is (are) currently selected (1v) whether the object presents editab[e textual informationon the video displaydevice, and (v) whether the object supports a numerical value.
If an object can perform an action (item (i) above), in response to a call therefor fom an assistive technology program 4 1, the object will return to the assistive technology pro gram one or more values identifying the actions that it can perform. If an object cannot perform an action, in response to a call from an assistive technology program, the object can return a value, such as a null value, so indicating. If an object can perform an action, its API 42 will also enable an assistive technology program to, using appropnate calls thereto, enable the object to perform the action. The particular actions that may be performed by an object will depend on the particular object, as will be apparent to those skilled in the art.
If an object has a graphical representation that can be rendered by the video display device 13 (item (11) above), in response to a call therefor from an assistive technology program 41, the object will return to the assistive technology program a value so indicating. If an object does not have a graphical representation that can be rendered by the video display device 13, in response to a call from an assistive technology program, the object can return a value, such as gL null value, so indicating. If an object does have a graphical representation that can be rendered by the video display device, its API 42 will also enable an assistive technolo y program to, using appropriate 9 calls thereto, control the graphical representation by the video display device 13, in par-ticular controlling the background and foreground colors (which can be used to adjust contrast therebetween), obtain and control the size of the graphical representation for the object, set the location of a cursor, obtain and control font characteristics for text, obtain and control position information for the object, obtain and control the focus, and the like.
If an object allows its children in the graphical user interface hierarchy to be selected, and, if so, identify which one(s) is (are) currently selected (item (111) above), in response to a call therefor from an assistive technology program 41, the object will return to the assistive technology program 4: ID a value so indicating. If an object does not allow its children in the graphical user interface hierarchy to be selected, or if it does not identify which one(s) is (are) currently selected, in response to a call from an assistive technology program, the object can return a value, such as a null value, so indicating. If an object allows its children in the gTaphical user interface hierarchy to be selected, and, if so, identify which one(s) is (are) currently selected, its kPI 42 will also enable an assistive technology program to, using appropriate calls thereto, obtain a count of the number of child objects that are selected, obtain the identification of currently selected child objects, and select or de- select ones of the children.
If an object presents editable textual information on the video display device 13 (item (iv) above), in response to a call therefor from an assistive technology program 4 1, the object will return to the assistive technology program a value so indicating. If an object dos not present editable textual information on the video display device, which may be the case, for example, in connection with textual information associated with objects representing push-buttons, check-boxes and the like, in response to a call from an assistive technology program, the object can return a value, such as a null value, so indicating. If an object does presenteditable textual information on the video display device, its API 42 will also enable the assistive technology program, using appropriate calls, to => Z' obtain from the object textual information at, before or after particular locations as displayed by the video display device 13, which can allow an assistive technolo2y program to retrieve the text Z) (character, word, sentence and the like) at a particular location and to establish attributes (that is, the font, size, style, etc) of a text character at a particular location.
In addition, if an object supports a numerical value (item (v) above), in response to a call therefor from an assistive technology program 4 1, the object will return to the assistive technology program a value so indicating. If an object does not support a numerical value, in response to a call I ZD from an assistive technology program, the object can return a value, such as a null value, so indicatin.g. If the object does support a numerical value, its API 42 will also enable the assistive technology program to, using appropriate calls, retrieve object's current numerical value and to set the numerical value.
The specific operations performed by the objects in response to the calls as described above will be apparent to those skilled in the arl, and will not be described herein. In addition, the operations performed by the assistive technology programs 41 in connection with information provided by the assistive technology progams 41 in response to calls as described above, and the operations performed by the assistive technology programs in generating the calls, will be apparent to those skilled in the art, and will not be described herein.
The invention provides a number of advanta-ges. In particular, the invention provides an D arrangement, in which objects comprising a graphical user interface, which may be displayed by the digital computer system 10 on the video display devicel'), are provided with a consistent and uniform prograrriming interface, which "assistive technology" programs can use to obtain 0 information therefrom and to control the respective objects to ensure inter-operability therebetween.
The progamming, inter-face is also extensible, to permit inforrriation relating to other aspects of 0 0 graphical user interfaces may be obtained by "assistive technology" programs from objects related thereto, for example, information relating to tables as displayed by the video display device 13, 1 layouts of child objects as displayed by the video display device, and the like.
It will be appreciated that a system in accordance with the invention can be constructed in whole or in part from special purpose hardware or a general purpose computer system, or any combination thereof, any portion of which may be controlled by a suitable progam. Any progam may in whole or in part comprise part of or be stored on the system in a conventional manner, or it may in whole or in part be provided in to the system over a network or other mechanism for transferring information in a conventional manner. In addition, it will be appreciated that the system may be operated and/or otherwise controlled by means of information provided by an operator using operator input elements (not shown) which may be connected directly to the system or which may transfer the information to the system over a network or other mechanism for transferring information in a conventional manner.
The foregoing description has been limited to a specific embodiment of this invention. It will
1 be apparent, however, that various variations and modifications may be made to the invention, with the attainment of some or all of the advantages of the invention. It is the object of the appended claims to cover these and such other variations and modifications as come within the true spirit and scope of the invention.
-16CLAEVIS 1. For use in connection with a computer for processing an assistive technology program, an object Z> in the computer's user interface, the object having one of a predetermined set of roles in the user interface, the object further being in one of a predetermined set of states, the object having an application programming interface ("APP) for facilitating transfer of information between the assistive technology program and the object, the API including arrangements for enabling the object to provide information in response to calls of a plurality of types including at least 0 A. a name call type, in response to which the object provides information in text form that is useful to an operator; B a description call type, in response to which the object provides information in text form that describes at least one operation performed by the object in the digital computer system; C. a role call type, in response to which the object provides information identifying its role in the user interface; and D. a state call type, in response to which the object provides information identifying its current state.
2. An object as defined in claim 1 in which the API further includes a call of an action call type, in response to which the object provides information indicating whether it can perform an action.
CW 3. An object as defined in claim 2 in which, if the object can perform an action, the API further includes a call of an action enable type, in which the object performs an action in response to a call of the action enable type.
4. An object as defined in claim 1 in which the API further includes a call of an graphical representation call type, in response to which the object provides information indicating whether it is associated with a graphical representation on a display device.
5. An object as defined in claim 4 in which, if the object is associated with a graphical representation, the API further includes a call of a graphical representation control type, in which the object adjusts its graphical representation in response to a call of the graphical representation control type.
6. An object as defined in claim 1, the object beina associated with a hierarchy in the graphical 0 interfae, the API further including a call of a child selection enable indication type, in response to which the object provides information indicating whether a child associated therewith in the graphical interface can be selected.
7. An object as defined in claim 6 in which, if the object is associated with a child which can be selected, the API further includes a call of a child selection enable type, in response to which the object enables its child to be selected.
8. An object as defined in claim 1 in which the API further includes a call of an editable text indication type, in response to which the object provides information indicating whether it is associated with editable text.
As- 9. An object as defined in claim 8 In which, If the object Is associated wIth edltable text, the A-PI further includes a call of an editable text enable type, in response to which the object performs a predetermined operation in connection with the editable text.
10. An object as defined in claim 9 in which one of said predetermined operations is a retrieval operation, in which the object provides at least a portion of the editable text to the assistive technology program.
11. An object as defined in claim 9 in which one of said predetermined operations is a retrieval operation, in which the object establishes a predetermined attribute thereof.
12. An object as defined in claim 1 in which the API further includes a call of a numerical value indication type, in response to which the object provides information indicating whether it is associated with a numerical value.
13. An object as defined in claim 12 in which, if the object is associated with a numerical value, the API further includes a call of an editable text enable type, in response to which the object performs a predetermined operation in connection with the numerical value.
14. An object as defined in claim 13 in which one of said predetermined operations is a retrieval operation, in which the object provides the numerical value to the assistive technology program.
19 15. An object as defined in claim I-) in which one of said predetermined operations is a value set operation, in which the object establishes the value of the numerical value.
16, For use in connection with a computer for processing an assistive technology program, an object substantially as described herein with reference to and/or as substantially as illustrated in any one of or any combination of the accompanying drawings.
GB9915171A 1998-06-30 1999-06-29 Programming interface for enabling 'assistive technology' programs to obtain information from, and to control graphical user interface objects Expired - Fee Related GB2342477B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10834398A 1998-06-30 1998-06-30

Publications (3)

Publication Number Publication Date
GB9915171D0 GB9915171D0 (en) 1999-09-01
GB2342477A true GB2342477A (en) 2000-04-12
GB2342477B GB2342477B (en) 2002-10-16

Family

ID=22321669

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9915171A Expired - Fee Related GB2342477B (en) 1998-06-30 1999-06-29 Programming interface for enabling 'assistive technology' programs to obtain information from, and to control graphical user interface objects

Country Status (3)

Country Link
CA (1) CA2276636A1 (en)
DE (1) DE19930135A1 (en)
GB (1) GB2342477B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773096B2 (en) 2005-12-12 2010-08-10 Microsoft Corporation Alternative graphics pipe

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10032421C2 (en) * 2000-07-04 2002-11-21 Joerg-Ulrich Woelfel Data processing tool

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773096B2 (en) 2005-12-12 2010-08-10 Microsoft Corporation Alternative graphics pipe

Also Published As

Publication number Publication date
CA2276636A1 (en) 1999-12-30
GB2342477B (en) 2002-10-16
GB9915171D0 (en) 1999-09-01
DE19930135A1 (en) 2000-01-05

Similar Documents

Publication Publication Date Title
KR100953806B1 (en) System and method for making user interface elements known to an application and user
US6621532B1 (en) Easy method of dragging pull-down menu items onto a toolbar
EP0817012B1 (en) Selection of operations in a computer system
US5555370A (en) Method and system for creating complex objects for use in application development
US5551030A (en) Method and apparatus for integrating applications in a graphical user interface environment with a rules database
US7554522B2 (en) Personalization of user accessibility options
JP2675987B2 (en) Data processing method and processing system
US6177941B1 (en) Representative mapping between toolbars and menu bar pulldowns
EP1298524A1 (en) Conference support apparatus, information processor, teleconference system and computer product
GB2315577A (en) Grouping of operations in a computer system
US20100318935A1 (en) Methods and apparatuses for inputting information
CN114237399B (en) Haptic feedback method, apparatus, medium, and device
EP1148415A2 (en) User selectable application grammar and semantics
JP2744473B2 (en) Icon display control method of information processing system
US20010044723A1 (en) Information processing system
GB2342477A (en) Programming interface for graphical user interface
JPH01232412A (en) Help system
JPH06242886A (en) Electronic mail system
JP2001014103A (en) Character input device and character input method
Cisco Script Editor Overview
Cisco Script Editor Overview
Cisco Script Editor Overview
Cisco Script Editor Overview
EP2581825A2 (en) Setting information creating program, apparatus, and method
JP2001175379A (en) Display processor and storage medium

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20050629