CA2276636A1 - Consistent and uniform programming interface arrangement and method for enabling "assistive technology" programs to obtain information from and to control graphical user interfaceobjects - Google Patents

Consistent and uniform programming interface arrangement and method for enabling "assistive technology" programs to obtain information from and to control graphical user interfaceobjects Download PDF

Info

Publication number
CA2276636A1
CA2276636A1 CA002276636A CA2276636A CA2276636A1 CA 2276636 A1 CA2276636 A1 CA 2276636A1 CA 002276636 A CA002276636 A CA 002276636A CA 2276636 A CA2276636 A CA 2276636A CA 2276636 A1 CA2276636 A1 CA 2276636A1
Authority
CA
Canada
Prior art keywords
response
call
type
api
provides information
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.)
Abandoned
Application number
CA002276636A
Other languages
French (fr)
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 CA2276636A1 publication Critical patent/CA2276636A1/en
Abandoned 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

For use in connection with a computer for processing an assistive technology program, an object in the computer's user interface is provided, the object having one of a predetermined set of roles in the user interface, and the object further being in one of a predetermined set of states. The object has an application programming interface ("API") for facilitating transfer of information between 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 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 or more actions, (ii) whether the object has a graphical representation that can be rendered by a video display device,

Description

CONSISTENT AND UNIFORM PR06RAlIlIIN6 INTERFACE ARRAN6ElIENT P3076 ANO lIETHOD FOR ENABLING 'ASSISTIVE TECHNOLOGY" PR06RAlIS
TO OBTAIN INFORlIATION FROlI, AND TO CONTROL, GRAPHICAL USER
2 The invention relates generally to the field of digital computer systems, and more particularly 3 to user interfaces by which digital computer systems receive input information from an operator and 4 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 6 computer system on a video display device, are provided with a consistent and unifonn 7 programming interface, which "assistive technology" programs can use to obtain information 8 therefrom and further use to control the respective objects.
BACKGROUND OF THE INVENTION
The development of inexpensive and high-powered computer systems, such as personal 11 computers, computer workstations and the like has led to an increase in the availability of 12 sophisticated computer technology to large numbers of people, Generally, a personal computer, 13 workstation or the like includes processor, a video display through which the computer can display 14 information to an operator, and operator input devices ouch as a keyboard, a pointing devices such -~~ l 5 as a mouse or the like, which the operator can use to input information to the computer. The 16 development of graphical user interfaces (GUI's) has made computers easier for many to use. In a 17 graphical user interface, the computer displays information to an operator in graphical form on a 18 video display, and allows the operator to manipulate the displayed graphical information to control 19 the computer by manipulating the pointing device.
'-0 While graphical user interfaces have made it easier for many people to use a computer, it is 21 clear that problems can arise for people with various kinds of disabilities who wish to use a 22 computer, particularly forpeople who are sight-impaired, and thus may find it difficult to see images 23 on a video display, or who are unable to manipulate ~t mouse or keyboard.
Several operating 1 systems, including for example, Microsoft Corporation's Windows 95 operating system, allow an 2 operator to selectively enable various "accessibility" options that can ease such problems, and 3 specialized computer hardware devices and computer programs can be used to further ease such 4 problems. For example, Windows 95 provides various optional methods of keyboard and/or mouse input that may be used by, for e:cample, people who have difficulty in manipulating such operator 6 input devices to alleviate such difficulties. In addition, for people who may be completely unable 7 to use keyboards, mice or the like, a computer can also include, as an operator input device, a 8 microphone through which the operator can input ~iudio information, which can be translated by 9 voice recognition programs into input information for use by the computer.
For sight-impaired l 0 people, Windows 95 allows an operator to enable the computer to provide large and/or high-contrast 11 video images on the video display. In addition, an operator can make use of screen reader programs 12 and the like to provide audio descriptions of the images displayed on the video display through 13 speakers provided on the computer.
14 Several problems arise in connection with "accessibility" options as currently provided.
1 ~ Generally, in the case of the graphical user interfacE; information that is normally displayed on a 16 video display device, current accessibility options merely serve to interpret the visual manifestations 17 for an operator, rather than providing independent types of manifestations.
In addition, current .LS accessibility options provide such an interpretation for all of the elements of the graphical user 19 interface, rather than allowing an operator to selectively determine the elements for which alternate 20 types of manifestations are to be provided. A further problem is that the objects comprising a 21 graphical user interface do not necessarily have a ca~nsistent or uniform programming interface, 22 which makes it difficult forprograms, such as "assistive technology"
programs, which assist people 23 with impairments, to interact with them (that is, the objects) in a uniform manner.
24 SUMMARY OF THE .INVENTION

1 The invention provides a new and improved atrangemcnt in which objects comprising a 2 graphical user interface, which may be displayed by the digital computer system on a video display 3 device, are provided with a consistent and uniform programming interface, which "assistive 4 technology" programs can use to obtain information therefrom and use to control the respective objects;
6 In brief summary, the invention provides a user interface object for use in connection with 7 a computer for processing an assistive technology program. , The object has one ofa predetermined 8 set of roles in the user interface, and the object further being in one of a predetermined set of states.
9 The object has an application programming interface ("API") for facilitating transfer of information between the assistive technology program and the object. The API includes arrangements for 11 enabling the object to provide information in response to calls of a plurality of types including at 12 least 13 A. a name call type, in response to which the object provides information in text form 14 that is useful to an operator;
1 ~ B a description call type, in response to which the object provides information in text 16 form that describes at least one operation performed by the object in the digital .1 ~ computer system;
18 C. a role call type, in response to which the object provides information identifying its 19 role in the user interface; and D. a state call type, in response to which the object provides information identifying its '-1 current state.
22 The API further includes arrangements for enabling the object to respond to other types of calls, 23 including indicating (i) whether the object can perform one or more actions, 1 (ii) whether the object has a graphical representation that can be rendered by a video display 2 device, 3 (iii) whether the object, allows its children in the graphical user interface hierarchy to be 4 selected, and, if so, which ones) is (are) currently selected S (iv) whether the object presents editable tex~:ual information on the video display device, and 6 (v) whether the object supports a numerical value, 7 and, if so, whether controlling each of these matters.
The RPI provides a uniform and consistent interface which an assistive technology program 9 can use in connection with objects in the graphical ;;nterface. The API is also extensible, to permit information relating to other aspects of graphical user interfaces may be obtained by "assistive 11 technology" programs from objects related thereto, for example, information relating to tables as 12 displayed by the video display device 13, layouts of child objects as displayed by the video display 13 device, and the like.
14 BRIEF DESCRIPTION O;F THE DRAWINGS
This invention is pointed out. with particularity in the appended claims. The above and 16 further advantages of this invention may be better understood by referring to the following 17 description taken in conjunction with the accompanying drawings, in which:
18 FIG. 1 depicts an illustrative digital computer system including an arrangement in which 19 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, 21 which "assistive technology" programs can use to obtain information therefrom and use to control 22 the respective objects;
1 FIG. 2 is a functional block diagram of an ,urangement constructed in accordance with the 2 invention.
DETAILED DESCRIPTION OF AN 1.LLUSTRATIVE EMBODIMENT
FIG. I depicts an illustrative computer system 10 including an arrangement for facilitating the selective generation ofmultiple types ofmanifestations for elements of a graphical user interface, 6 constructed in accordance with the invention. With reference to FIG. 1, the computer system 10 in 7 one embodiment includes a processor module 11 and operator interface elements comprising 8 operator input components such as a keyboard 12E~ and/or a mouse 12B
(generally identified as 9 operator input elements) 12) and operator output components such as a video display device I3 with integral speakers 15. The illustrative computer system 10 is of the conventional stored-program 11 computer architecture.
1 ? The processor module 11 includes, for example, processor, memory and mass storage devices 13 such as disk and/or tape storage elements (not separately shown) which perform processing and 14 storage operations in connection with digital data provided thereto. The mass storage subsystems 1.5 may include such devices as disk or tape subsystems, optical disk storage devices and CD-ROM
:1:6 devices in which information may be stored and/or fr~~m which information may be retrieved. One ~I
17 or more of the mass storage subsystems may utilize rennovable storage media which may be removed 18 and installed by an operator, which may allow the operator to load programs and data into the digital 19 computer system 10 and obtain processed data therefrom. Under control of control information provided thereto by the processor, information stored in the mass storage subsystems may be 21 transferred to the memory for storage. After the information is stored in the memory, the processor 22 may reri-ieve it from the memory for processing. After the processed data is generated, the processor 23 may also enable the mass storage subsystems to retrieve the processed data from the memory for 24 relatively long-term storage.

_E~_ 1 The operator input elements) 12 are provided to permit an operator to input information for 2 processing and/or control of the digital computer system 10. The video display device 13 and 3 speakers 15 are provided to, respectively, display vvisual output information on a screen 14, and audio 4 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, 6 as well as information generated during processing. The processor module 11 generates information 7 for display by the video display device 13 using a so-called "graphical user interface" ("GUI"), in 8 which information for various applications pro~~ams is displayed using various "windows."
9 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 11 device 13 for displaying output information to the operator, it will be appreciated that the computer 12 system 10 may include a variety of components in .addition to or instead of those depicted in FIG.
13 1.
14 In addition, the processor module 11 may include one or more network or communication ports, generally identified by reference numeral 15, vrhich can be connected to communication links 16 to connect the computer system 10 in a computer net<vork, or to other computer systems (not shown) 17 over, for example, the public telephony system. The ports enable the computer system 10 to transmit . l8 information to, and receive information from, other computer systems and other devices in the 19 network.
The invention provides an arrangement, which will be described below in connection with 21 FIG. 2, in which objects comprising a graphical user interface, which may be displayed by the digital 22 computer system 10 on the video display devicel3, are provided with a consistent and uniform 23 programming interface, which "assistive technology" programs can use to obtain information 24 therefrom and to control the respective objects. Assi;~tive technology programs typically are used to assist operators who have various kinds of disabilities to use computers, and thus may need to 26 interact with other elements of the computer so that they can perform operations which can, for ?7 example, provide a non-visual indication of the event. Thus, in connection with an assistive _7,_ 1 technology program which is used in connection with a graphical user interface may, when an event 2 occurs in connection with an object in the graphical user interface which would typically be 3 displayed by the video display device to provide ;i visual notification of the event to the operator, 4 also enable speakers to generate a sound when the event occurs, thereby to provide an audible S notification of the event to the operator, and, in that manner, assist a sight-impaired person to use 6 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 8 assistive technology programs to obtain information therefrom, which programming interface may 9 be readily extended according to the needs of the particular object.
However, since the objects provide at least a minimum consistent and uniform programming interface, the assistive technology 11 programs will be ensured of being able to inter-operate with those objects provided that their (that 12 is, the assistive technology programs') interactions with the objects are limited to that minimum 13 programming interface.
14 FIG. 2 depicts a functional block diagram o1"an arrangement 40 constructed in accordance 1 ~ with the invention. With reference to FIG. 2, the arrangement 40 comprises one or more assistive 16 technology programs generally identified by reference numeral 4I and a graphical user interface 17 represented by an illustrative window 20, which inter-operate through an applications programming .1:8 interface (A.PI) 42. The assistive technology programs 41 may comprise any of a number of types 19 of programs which can assist operators who may be impaired to use the digital computer system.
For example, for operators who are sight-impaired, the assistive technology programs may enable 21 the digital computer system 10 to provide, through the speakers I5, audible manifestations of events 22 which occur in connection with elements comprising the graphical user interface. In addition, for 23 operators who are both sight- and hearing-impaired, tlhe assistive technology programs may enable 24 the digital computer system I O to provide, through an l3raille output generator (not shown), a Braille manifestation of events which occur in connection v~ith elements comprising the graphical user 26 interface. Similarly, for operators who have other typ~a of impairments, such as operators who are 27 unable to manipulate the operator input elements 12.A, 12B, assistive technology programs may _g_ 1 make use of audio information provided through alternate operator element, such as a microphone, 2 to generate operator input information for controlling the digital computer system 10.
3 Before proceeding further, it may be useful to provide a description of a the illustrative 4 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 6 of window elements which are typical of windows that may be used in connection with applications '1 and other programs which run under the Microsoft WindowsTM operating system, including a title 8 bar 21, 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 ide~atifies 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 11 issue commands to control the applications program. As is conventional, the user may, by inputting 12 appropriate keystroke patterns on the keyboard 12A, or by controlling the position of an on-screen 13 pointer (not shown) by manipulating the mouse 12B, select and actuate ones of the menu items and 14 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(I~ each of which may I 6 also be associated with a command for controlling th.e applications program; the operator can issue 17 a command to the applications program through the button bar 27 by actuating the appropriate button _. ~8 in a similar manner.
19 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 21 a system menu which enables the operator to issue commands to the operating system program to 22 control the computer system 10. The window control push-buttons 31 and 32 enable the operator 23 to control various aspects of the window 20. For ex~unpIe, if the operator inputs a predetermined 24 keystroke combination using the keyboard 12A or suitably manipulates the mouse 12B to actuate the window control push-button 31, the window 20 may switch between occupying the entire screen 26 14 of the video display device 13, and occupying a defined area, or "window" which is somewhat 27 less that the full screen. If the operator similarly inpwa a predetermined keystroke combination or _9_ 1 suitably manipulates the mouse 12B to actuate the; window control push-button 32, the window 20 2 may minimize itself to an icon (not shown) displayed by the video display device 13.
3 The applications program can use the information display area 26 to display program 4 information to a user. If the applications program has more program information which may be displayed than can be displayed in the information display area 26, the window 20 may provide the 6 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(1), 24(1) whose horizontal or vertical position can be 8 controlled by the operator by manipulating the on-screen mouse pointer to control the portion of the 9 applications program's information that is displayed on the video display device 13.
While operating, the applications program rnay, in addition to the window 20, make use of 11 a number of other graphical display devices, inclua~ing dialog boxes, message boxes and the like.
12 The applications program may use a message box to display a variety of types of information, 13 including but not limited to error messages if the applications program detects error conditions in 14 execution of commands or other processing. When a command requires entry by an operator of 1 ~ values for various parameters and other control information for execution, an applications program 16 may use a dialog box to obtain such values from the operator. Typically, a dialog box will include 1.~ several window elements which are similar to those described above in connection with window 20, - 18 including a title bar and an information display area, but in the case of a dialog box the information 19 display area will be constrained to identify the types ofparameters and other control information to be supplied by the operator, as well as blank areas in which the operator can insert the parameter and 21 control information values. Other graphical display dE;vices will be known to those skilled in the art.
Each of the elements described above in connection with the illustrative window 20 ?3 comprises an object with which an assisiive technoloE;y program 41 may need to inter-operate, and '-4 from which the assistive technology program 41 may need to obtain information, in order to assist ?5 impaired operators in using the digital computer system 10. The assistive technology programs 41 ?6 make calls to each object through its (that is, the object's) application programming interface -1 (1-1 ("API"). API's for the objects comprising the illustz~tive window are identified by reference numeral 2 42, and actually comprise a portion of the respective object. In accordance with the invention, all 3 of the objects in the illustrative window 20, and, ir.~deed, all of the objects which can be used in the 4 graphical user interface, are associated with the same minimum API, to ensure that, when an assistive technology program 41 makes a call to am object using a call in the minimum API, the 6 assistive technology program 41 will be ensured of:receiving a response that is meaningful to it (that 7 is, the assistive technology program 41) and that it ~~an use in its subsequent processing operations.
8 An object may provide an API 42 that is extended from this minimum API, but the calls in the 9 extension need not be uniform or consistent with calls in extensions provided by other objects.
In further accordance with the invention the rninimum API provided by an object comprising 11 the graphical user interface include calls which the assistive technology programs 41 may use to 12 obtain a name for the object, a description of the object, and role and state information for the object.
13 In response to a call for the object's name from an ass;istive technology program, the object provides 14 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 16 information such as "OK," the name of the object, which would be returned in response to a call 17 therefor from an assistive technology program, would comprise the textual information "OK." In t:8 response to a call for the description of the object from an assistive technology program, the object I9 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 21 operator to save a file with a new name, the description may comprise textual information "Enables 22 a file to be saved with a new name," which would be returned to the assistive technology program 23 41 in response to a call to the object for its description.
24 In response to a call to an object requesting its role, the object provides one of a plurality of pre-defined role identifiers indicating its role in the graphical user interface. In one embodiment, ?6 pre-defined state identifiers include such identifiers as "window," "check box," "slider,"
2'1 -"push button," "tool bar,""icon" and the like, which identifies the object's role in the graphical user 1 interface. In addition, in that embodiment, one pre..defined identifier comprises "unknown," which 2 can be used to indicate that the object has a role that has not been pre-defined.
3 In response to a call to an object requesting; its state, the object provides one of a plurality 4 of predefined state identifiers identifying its curre~.zt state. In one embodiment, pre-defined state identifiers include such identifiers as "checked" (useful in connection with, for example, an object 6 comprising a check box), "pressed" (useful in connection with, for example, an object comprising 7 a push button), "visible" (useful in connection with, for example, an object whose image is visible 8 on the video display device 13), "invisible"(useful in connection with, for example, an object whose 9 image is obscured by another object on the video display device 13), "focused,"
"unavailable,""busy," "editable" (useful in connection with, for example, an object which contains 1 l editable text), "expandable" (useful in connection with, for example, an object which can be 12 expanded), "expanded" (useful in connection with, for example, an object which is currently in 13 expanded form), "iconified" (useful in connection with, for example, an object whose representation 14 on the video display device is in the form of an icon), ;md the like. Other state identifiers which may 1 ~ be defined for use in the collection of state identifiers will be apparent to those skilled in the art.
By providing a set of pre-defined role identifiers and state identifiers which the objects can 1.7 return in response to calls therefor from the assistive~ technology programs 41, the inventive API
= vTs ensures that the assistive technology programs will be able to consistently identify the roles and 19 states of the respective objects which may be utilized in the graphical user interface.
?0 The API 42 also provides a mechanism by whiich the assistive technology programs 41 can 21 obtain more specific information about an object, including ?? (i) whether the object can perform one or more; actions, 23 (ii) whether the object has a graphical representation that can be rendered by the video 24 display device 13, _ l;r,_ 1 (iii) whether the object, allows its children in the graphical user interface hierarchy to be 2 selected, and, if so, which ones) is (are) currently selected 3 (iv) whether the object presents editable textual information on the video display device, and 4 (v) whether the object supports a numerical value.
If an object can perform an action (item (i) above)., in response to a call therefor from an assistive 6 technology program 41, the object will return to the;~ssistive technology program one or more values 7 identifying the actions that it can perform. If an object cannot perform an action, in response to a call 8 from an assistive technology program, the object. can return a value, such as a null value, so 9 indicating. If an object can perfonn an action, its ~~PI 42 will also enable an assistive technology program to, using appropriate calls thereto, enable t:he object to perform the action. The particular 11 actions that may be performed by an object will depend on the particular object, as will be apparent 12 to those skilled in the art.
13 If an object has a graphical representation that can be rendered by the video display device 14 13 (item (ii) above), in response to a call therefor tom an assistive technology program 41, the 1 ~ object will return to the assistive technology program a value so indicating. If an object does not 16 have a graphical representation that can be rendered by the video display device 13, in response to .17 a call from an assistive technology program, the object can return a value, such ash. null value, so 18 indicating. If an object does have a graphical representation that can be rendered by the video 19 display device, its A.PI 42 will also enable an assistive technology program to, using appropriate calls thereto, control the graphical representation by the video display device 13, in particular 21 controlling the background and foreground colors (which can be used to adjust contrast 22 therebetween), obtain and control the size of the graphical representation for the object, set the 23 location of a cursor, obtain and contxol font characteristics for text, obtain and control position 24 information for the object, obtain and control the focus, and the like.

~" CA 02276636 1999-06-24 -13~-1 If an object allows its children in the graphical user interface hierarchy to be selected, and, 2 if so, identify which ones) is (are) cuaently selected (item (iii) above), in response to a call therefor 3 from an assistive technology program 41, the object will return to the assistive technology program 4 a value so indicating. If an object does not allow its c;hiIdren in the graphical user interface hierarchy to be selected, or if it does not identify which ones) is (are) currently selected, in response to a call 6 from an assistive technology program, the object can return a value, such as a null value, so 7 indicating. If an object allows its children in the graphical user interface hierarchy to be selected, 8 and, if so, identify which ones) is (are) currently salected, its API 42 will also enable an assistive 9 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 I 1 ones of the children.
1? If an object presents editable textual information on the video display device 13 (item (iv) 13 above), in response to a call therefor from an assistive; technology program 41, the object will return 14 to the assistive technology program a value so indicating. If an object dos not present editable textual information on the video display device, whici;~ may be the case, for example, in connection 16 with textual information associated with objects representing push-buttons, check-boxes and the like, 17 in response to a call from an assistive technology pro~~am, the object can return a value, such as a _~~LB null value, so indicating. If an object does present editable textual information on the video display 19 device, its API 42 will also enable the assistive technology program, using appropriate calls, to obtain from the object textual information at, before or after particular locations as displayed by the 21 video display device 13, which can allow an assisti~re technology program to retrieve the text 22 (character, word, sentence and the like) at a particular location and to establish attributes (that is, the 23 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 41, the object will return to the assistive technology 26 program a value so indicating. If an object does not support a numerical value, in response to a call 27 from an assistive technology program, the object cau return a value, such as a null value, so -1~~-1 indicating. If the object does support a numerical value, its API 42 will also enable the assistive 2 technology program to, using appropriate calls, retrieve object's current numerical value and to set 3 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 art, and will not be described herein. In addition, the 6 operations performed by the assistive technology programs 41 in connection with information provided by the assistive technology programs 41 in response to calls as described above, and the 8 operations performed by the assistive technology programs in generating the calls, will be apparent 9 to those skilled in the art, and will not be described herein.
0 The invention provides a number of advantages. In particular, the invention provides an 11 arrangement, in which objects comprising a graphic<i1 user interface, which may be displayed by the 12 digital computer system 10 on the video display devicel3, are provided with a consistent and 13 uniform programming interface, which "assistive technology" programs can use to obtain 14 information therefrom and to control the respective objects to ensure inter-operability therebetween.
13 The programming interface is also extensible, to p~~rniit information relating to other aspects of 16 graphical user interfaces may be obtained by "assistive technology"
programs fiom objects related 17 thereto, for example, information relating to tables as displayed by the video display device 13, - ~ 18 layouts of child objects as displayed by the video display device, and the like.
19 It will be appreciated that a system in accordance with the invention can be constructed in 20 whole or in part from special purpose hardware or a general purpose computer system, or any 21 combination thereof, any portion of which may be controlled by a suitable program. Any program 22 may in whole or in part comprise part of or be stored on the system in a conventional manner, or it 23 may in whole or in part be provided in to the system over a network or other mechanism for 24 transferring information in a conventional manner. In ;addition, it will be appreciated that the system 25 may be operated and/or otherwise controlled by means of information provided by an operator using 26 operator input elements (not shown;) which may be connected directly to the system or which may _ I <;_ 1 transfer the information to the system over a network or other mechanism for transferring 2 information in a conventional manner.
3 The foregoing description has been limited to a specific embodiment ofthis invention. It will 4 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 6 claims to cover these and such other variations and modifications as come within the true spirit and 7 scope of the invention.
What is claimed as new and desired to be sE;cured by Letters Patent of the United States is:

Claims (15)

1. For use in connection with a computer for processing an assistive technology program, an object 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 ("API") 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 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.
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 being associated with a hierarchy in the graphical interface, 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.
9. An object as defined in claim 8 in which, if the object is associated with editable text, 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 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.
15. An object as defined in claim 13 in which one of said predetermined operations is a value set operation, in which the object establishes the value of the numerical value.

(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.
CA002276636A 1998-06-30 1999-06-25 Consistent and uniform programming interface arrangement and method for enabling "assistive technology" programs to obtain information from and to control graphical user interfaceobjects Abandoned CA2276636A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10834398A 1998-06-30 1998-06-30
US09/108,343 1998-06-30

Publications (1)

Publication Number Publication Date
CA2276636A1 true CA2276636A1 (en) 1999-12-30

Family

ID=22321669

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002276636A Abandoned CA2276636A1 (en) 1998-06-30 1999-06-25 Consistent and uniform programming interface arrangement and method for enabling "assistive technology" programs to obtain information from and to control graphical user interfaceobjects

Country Status (3)

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

Families Citing this family (2)

* 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
US7773096B2 (en) 2005-12-12 2010-08-10 Microsoft Corporation Alternative graphics pipe

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4503438B2 (en) System and method for informing applications and users of user interface elements
US5551030A (en) Method and apparatus for integrating applications in a graphical user interface environment with a rules database
EP0817012B1 (en) Selection of operations in a computer system
US5555370A (en) Method and system for creating complex objects for use in application development
US6621532B1 (en) Easy method of dragging pull-down menu items onto a toolbar
US5748191A (en) Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US6469714B2 (en) Infocenter user interface for applets and components
US6225998B1 (en) Visual design of workflows for transaction processing
JP2938420B2 (en) Function selection method and apparatus, storage medium storing control program for selecting functions, object operation method and apparatus, storage medium storing control program for operating objects, storage medium storing composite icon
JP2650657B2 (en) Apparatus and method for executing voice-related application
US20030179240A1 (en) Systems and methods for managing virtual desktops in a windowing environment
JP2007011531A (en) Interface control program, interface control method, interface control device and plug-in program
US5687317A (en) Distributed computer system providing simultaneous access to a plurality of users
US5511187A (en) Method and system for nonvisual groupware participant status determination in a data processing system
Crease et al. A toolkit of mechanism and context independent widgets
WO2007097526A1 (en) Method for providing hierarchical ring menu for graphic user interface and apparatus thereof
JPH0581006A (en) Object-oriented drawing type user-interface
JP2744473B2 (en) Icon display control method of information processing system
CA2276636A1 (en) Consistent and uniform programming interface arrangement and method for enabling &#34;assistive technology&#34; programs to obtain information from and to control graphical user interfaceobjects
JPH01232412A (en) Help system
Cisco Script Editor Overview
JP2603428B2 (en) How to display a popup menu
EP2581825A2 (en) Setting information creating program, apparatus, and method
JPH07152550A (en) Method for preparing object-oriented system
Whitfield et al. Investigating properties of code transformations

Legal Events

Date Code Title Description
FZDE Dead