Claims
- 1. A computer-implemented method for constructing a logical element tree for providing user interface information to an assistive technology or automated testing client, the method comprising:
locating native elements of underlying UI frameworks; combining native elements to form a raw element tree; determining which portions of the raw element tree are interesting to the client; and inserting hints in the raw element tree to modify portions of the raw element tree and to form the logical element tree.
- 2. The method of claim 1, wherein inserting hints comprises instructing a node that is not interesting to the client to conceal itself.
- 3. The method of claim 1, wherein inserting hints comprises providing instructions to conceal specified relatives of a given node.
- 4. The method of claim 1, wherein inserting hints comprises re-arrranging nodes.
- 5. The method of claim 1, wherein inserting hints comprises inserting nodes to hide nodes that are not interesting to a user.
- 6. The method of claim 1, wherein inserting hints comprises discarding nodes that exist only for structural and implementation purposes that cannot be perceived by a user.
- 7. The method of claim 1, wherein combining native elements to form a raw element tree comprises including nodes that represent an implementation structure of an underlying UI framework.
- 8. The method of claim 1, further comprising using the raw element tree to verify the logical element tree through debugging and diagnostics.
- 9. The method of claim 1, further comprising selecting the nodes of the logical element tree to represent a control, an item in a control, or a grouping structure.
- 10. A computer-implemented logical element tree within a client side interface for providing user interface information to a client, the logical element tree comprising:
a plurality of logical elements, each of said logical elements representing a user interface component; and a framework for connecting the logical elements so that the connected logical elements provide a logical representation of a user interface.
- 11. The logical element tree of claim 10, wherein the plurality of logical elements are logical elements selected by the method of:
locating native elements of underlying UI frameworks; combining native elements to form a raw element tree; determining which portions of the raw element tree are interesting to the client; and inserting hints in the raw element tree to eliminate portions and to form the logical element tree.
- 12. The logical element tree of claim 10, wherein the logical element tree comprises a unified representation of a plurality of underlying technologies and is therefore capable of providing information regardless of the server side application in use, or the UI framework used to build that server side application.
- 13. The logical element tree of claim 10, wherein each logical element represents one of a control, an item in a control, or a grouping structure, each of said logical elements representing an item that is visible to a user.
- 14. The logical element tree of claim 10, wherein the logical elements and underlying framework comprise an abstract model including structure, properties, events and functionality that user interface components of multiple different UI frameworks have in common with one another.
- 15. The logical element tree of claim 10, further comprising logical elements and underlying frameworks that are stable over time as long as an application looks the same to a user.
- 16. A method for providing user interface information to an assistive technology or automated testing client using a logical element tree, the method comprising:
providing a plurality of logical elements, each of said logical elements representing a user interface component; constructing a framework for connecting the logical elements so that the connected logical elements provide a logical representation of a user interface; providing an API responsive to client calls to find a logical element; and using the API to return a value that is referenced to a position in the logical element tree.
- 17. The method of claim 16, wherein API functionality comprises: logical element from point; logical element from event; and currently focused logical element.
- 18. The method of claim 16, further comprising providing a common base interface including methods for navigating the logical element tree.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This invention claims the benefit of U.S. Provisional Application Serial No. 60/415,238, filed Sep. 30, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60415238 |
Sep 2002 |
US |