Programmatically providing direct access to user interface elements of an application program
First Claim
1. A method performed by an application program in a computer system for providing direct access to user interface elements of an application program, comprising the steps of:
- selecting, by a client application, a programmatic access component for use by the client application;
receiving, from the client application, a programmatic request identifying a user interface element to access via the programmatic access component;
accessing the identified user interface element on behalf of the client application responsive to the received programmatic request;
attaching a description to the identified user interface element;
requesting the description by the programmatic request; and
returning the description to the client application by the step of directly accessing the identified user interface element; and
conveying said description of said user interface element to a user.
2 Assignments
0 Petitions
Accused Products
Abstract
An architecture is provided that enables an accessibility aid to directly access and manipulate user interface elements of an application program programmatically. Moreover, such access and manipulation occurs in an application-independent manner, so that an accessibility aid utilizing the architecture can access any application program that conforms to the architecture, without the accessibility aid needing any prior knowledge of the application program or its user interface elements. User interface elements typically have both a visual representation displayed on the video display and an implementation, which is the code and data implementing the user interface element. The architecture provides an accessibility aid with direct access to the implementation of user interface elements, thus enabling the accessibility aid to both examine various characteristics of the user interface element and manipulate these characteristics, which may affect its visual representation.
-
Citations
28 Claims
-
1. A method performed by an application program in a computer system for providing direct access to user interface elements of an application program, comprising the steps of:
-
selecting, by a client application, a programmatic access component for use by the client application;
receiving, from the client application, a programmatic request identifying a user interface element to access via the programmatic access component;
accessing the identified user interface element on behalf of the client application responsive to the received programmatic request;
attaching a description to the identified user interface element;
requesting the description by the programmatic request; and
returning the description to the client application by the step of directly accessing the identified user interface element; and
conveying said description of said user interface element to a user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
including a default action in the identified user interface element;
requesting by the programmatic request that the application program perform the default action on the identified user interface element; and
performing the default action on the identified user interface element by the step of directly accessing the identified user interface element.
-
-
4. The method of claim 1, further comprising the steps of:
-
connecting the user interface element to a plurality of relations;
requesting one of the plurality of relations by the programmatic request;
accessing a related user interface element that is related to the identified user interface element via the requested relation; and
returning a reference to the related identified user interface element to the client application.
-
-
5. The method of claim 1, wherein the programmatic request selects the identified user interface element.
-
6. The method of claim 1, further comprising the steps of:
-
attaching a help string to the identified user interface element that provides useful information to the user;
requesting the help string of the identified user interface element by the programmatic request; and
returning the help string to the client in the step of directly accessing.
-
-
7. The method of claim 1, further comprising the steps of:
-
attaching an associated help topic to the identified user interface element that provides useful information to the user;
requesting an identifier of the associated help topic of the identified user interface element by the programmatic request; and
returning the identifier of the associated help topic to the client in the step of directly accessing.
-
-
8. The method of claim 1, further comprising the steps of:
-
attaching an invocable response to a user depression of a key on a keyboard input device;
requesting an indication of the key by the programmatic request; and
returning the indication of the key to the client application in the step of directly accessing.
-
-
9. The method of claim 1, further comprising the steps of:
-
associating a name to the identified user interface element;
requesting the name associated to the identified user interface element by the programmatic request; and
returning the name to the client application in the step of directly accessing.
-
-
10. The method of claim 1, further comprising the steps of:
-
associating one of the user interface elements with a parent user interface element having a parent/child relationship with a child user interface element;
supporting the parent user interface element with an IDispatch interface;
associating the identified user interface element as the child user interface element;
requesting a reference to the IDispatch interface of the parent by the programmatic request;
accessing the reference to the IDispatch interface of the parent user interface element by the step of directly accessing; and
returning the reference to the IDispatch interface to the client in the step of directly accessing.
-
-
11. The method of claim 1, further comprising the steps of:
-
linking a value to the identified user interface element;
providing a new value for the user interface element by the programmatic request; and
setting the value of the user interface element to the new value by the directly accessing step.
-
-
12. The method of claim 1, further comprising receiving, by the client application, a notification when the user interface element changes status.
-
13. A method for accessing user interface elements of a first application program performed by a client application using a computer system, comprising the steps of:
-
requesting, by the client application, a first programmatic access component from the first application program;
receiving the first programmatic access component;
utilizing the first programmatic access component to directly and programmatically access at least one of the user interface elements on behalf of the client application;
conveying a description of said at least one of the user interface elements to a user. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
requesting a second application program having a second programmatic access component, where the second application program is substantially different than the first application program and the second programmatic access component has a definition for utilization that is equivalent to the definition of the first programmatic access component;
receiving the second programmatic access component from the second application program; and
utilizing the second programmatic access component in a substantially same manner as the first programmatic access component to directly and programmatically access at least one of the user interface elements of the second application program.
-
-
16. The method of claim 15, further comprising the step of:
requesting that the second application program perform a default action on the identified user interface element.
-
17. The method of claim 13, further comprising the step of:
referencing the identified user interface element that supports an IDispatch interface.
-
18. The method of claim 13, further comprising the steps of:
-
connecting the user interface elements to a plurality of relations;
requesting one of the relations by the first programmatic access component;
accessing a related user interface element that is related to the at least one user interface elements via the indicated relation; and
receiving a reference to the related user interface element.
-
-
19. The method of claim 13, further comprising the step of:
selecting the at least one user interface elements by utilizing the first programmatic access component.
-
20. The method of claim 13, further comprising the steps of:
-
attaching a help string to the at least one user interface elements that provides useful information to the user;
requesting the help string of the at least one user interface elements by the first programmatic access component; and
receiving the help string of the identified user interface element from the first application program.
-
-
21. The method of claim 13, further comprising the steps of:
-
attaching a help topic to the at least one user interface elements;
requesting the help topic of the at least one user interface element by the first programmatic access component; and
receiving the identifier of the help topic from the first application program.
-
-
22. The method of claim 13, further comprising the steps of:
-
associating a name to the at least one user interface elements;
requesting the name associated to the at least one user interface elements by the first programmatic access component; and
receiving the name from the first application program.
-
-
23. The method of claim 13, further comprising the steps of:
-
associating one of the user interface elements with a parent user interface element having a parent/child relationship with a child user interface element;
supporting the parent user interface element with an IDispatch interface;
associating the child user interface element with the parent user interface elements;
requesting a reference to the IDispatch interface of the parent user interface element by the first programmatic access component;
accessing the reference to the IDispatch interface of the parent user interface element by the step of directly accessing; and
receiving the reference to the IDispatch interface of the parent user interface element from the first application program.
-
-
24. The method of claim 13, further comprising the steps of:
-
linking a value to the at least one user interface elements;
providing a new value for the at least one user interface element by the first programmatic access component; and
setting the value of the at least one user interface element to the new value.
-
-
25. The method of claim 13, further comprising receiving, by the client application, a notification when the user interface element changes status.
-
26. A method for accessing user interface elements of a first application program by a client application using a computer system, comprising the steps of:
-
requesting, by the client application, a reference to an interface supported by the first application program, the interface comprising at least one function member that provides access to at least one of the user interface elements;
receiving the reference to the interface;
invoking the function member to directly access and manipulate the user interface element in a second application independently such that access and manipulation of the second application user interface elements support the interface in a same manner; and
receiving, by the client application, a notification when one of the user interface elements changes status.
-
-
27. A computer system comprising:
-
a video display displaying user interface elements;
a memory, further comprising;
an application program for displaying the user interface elements on the video display, and for providing direct access to an implementation of the user interface elements by selecting an interface containing function members that each access the implementation of the user interface elements;
an accessibility aid for invoking the function members on the interface to provide a user with access to the implementation of the user interface elements; and
an operating system for providing the accessibility aid with access to the interface of the application program and for conveying a description of said user interface element to the user; and
a processor for running the application program, the operating system, and the accessibility aid.
-
-
28. A computer-readable medium containing instructions for controlling a computer system to perform a method for accessing a user interface element of a computer program, the user interface element having a class definition that is able to be instantiated into an object, the method comprising the steps of:
-
requesting, by a client application, a reference to an interface supported by the first application program, the interface comprising at least one function member that provides access to at least one of the user interface elements;
receiving the reference to the interface;
invoking the function member to directly access and manipulate the user interface element in a second application independently such that access and manipulation of the second application user interface elements support the interface in a same manner; and
receiving, by the client application, a notification when one of the user interface elements changes status.
-
Specification