User interface automation framework classes and interfaces
First Claim
1. A system of tools for use in an accessibility system that provides one or more clients with user interface information, the accessibility system including a client side for each of the one or more clients and a provider side, the system of tools comprising:
- client side automation tools including a client automation class for seeking user interface information, the client automation class including logical element discovery tools and event registration tools, the event registration tools allowing the one or more clients to register to receive one or more user interface event notifications for user interface property changes, control structure changes, multimedia events, or a combination thereof, which thereby reduces cross-process calls; and
provider side automation tools for providing the one or more clients with user interface information, the provider side automation tools including an automation provider class having tools for providing the one or more clients with event information,wherein, if the one or more clients register to receive the one or more user interface event notifications for a particular event and the event is associated with a user interface element visible to a user, monitoring a user interface for the particular event for which the one or more clients registered to receive the one or more user interface event notifications that matches the information request, filtering the user interface information in correspondence with the information request, creating a logical element tree based on the filtered user interface information, transmitting the logical element tree to place the logical element tree with the one or more clients requesting information, the one or more clients configured for users having disabilities, and exposing a form of the logical element tree to the end user that corresponds with the user interface being presented to the user thereby assisting the user to interact with an application.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system providing a client with user interface information are described. The method and system implement a set of application program interfaces for providing user interface information to a client through an accessibility system. The accessibility system includes a mechanism for transferring user interface information from a provider side to the client side and a logical tree for selectively revealing user interface information. The application program interface system includes client side application program interfaces for assisting the client in obtaining user interface information. The client side application program interfaces include an automation class, a logical element class, a raw element class, control pattern classes, and an input class. The provider side application program interfaces include a provider automation class, a provider automation interface, a raw element interface, and control pattern provider interfaces.
-
Citations
54 Claims
-
1. A system of tools for use in an accessibility system that provides one or more clients with user interface information, the accessibility system including a client side for each of the one or more clients and a provider side, the system of tools comprising:
-
client side automation tools including a client automation class for seeking user interface information, the client automation class including logical element discovery tools and event registration tools, the event registration tools allowing the one or more clients to register to receive one or more user interface event notifications for user interface property changes, control structure changes, multimedia events, or a combination thereof, which thereby reduces cross-process calls; and provider side automation tools for providing the one or more clients with user interface information, the provider side automation tools including an automation provider class having tools for providing the one or more clients with event information, wherein, if the one or more clients register to receive the one or more user interface event notifications for a particular event and the event is associated with a user interface element visible to a user, monitoring a user interface for the particular event for which the one or more clients registered to receive the one or more user interface event notifications that matches the information request, filtering the user interface information in correspondence with the information request, creating a logical element tree based on the filtered user interface information, transmitting the logical element tree to place the logical element tree with the one or more clients requesting information, the one or more clients configured for users having disabilities, and exposing a form of the logical element tree to the end user that corresponds with the user interface being presented to the user thereby assisting the user to interact with an application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system of client side tools implemented in an accessibility system that provides a client with user interface information, the accessibility system including a mechanism for transferring user interface information from a provider side to the client side and a logical tree for selectively revealing user interface information, the client side tools comprising:
-
a computer processor; a client side automation mechanism including a client automation class for seeking user interface event information from the provider side; and a client side logical element mechanism including a logical element class for representing a user interface element in the logical tree, the logical tree comprising a filtered view of an underlying structural hierarchy having only one or more user interface elements that are of interest to a client and visible to a user, wherein each of the one or more user interface elements represents a control, an item in a control, or a grouping structure, the logical tree being utilized to identify information related to an event, a state of a system, a location of an object, a control, or a combination thereof, the logical tree being created by locating native user interface elements of underlying technologies that include elements that exist for structure and implementation to create one or more native trees, combining the native elements to form a raw tree that contains elements representing an implementation structure of an underlying framework and that indicates an unprocessed logical tree, and creating the logical tree by eliminating the native elements in the raw tree regarding object information and properties which are determined to be uninteresting to the client. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A system of provider side tools implemented in an accessibility system that provides a client with user interface information, the accessibility system including a mechanism for transferring user interface information from the provider side to the client and a logical tree for selectively revealing user interface information, the provider side tools comprising:
-
a computer processor; a provider side automation class including tools for providing user interface event notifications to the client, the user interface event notifications indicating user interface property changes, control structure changes, multimedia events, or a combination thereof wherein, if the client requests information for a particular event and the event is associated with a user interface element visible to a user, monitoring a user interface for the particular event that matches the information request, filtering the user interface information in correspondence with the information request, creating a logical element tree based on the filtered user interface information, and transmitting the logical element tree to place the logical element tree with the client requesting information, the client configured for users having disabilities; a provider side automation interface for exposing user interface properties; a raw element interface for returning information related to a specific relative element; and a raw element context interface for managing events and functionality not related to a specific element. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. An application program interface system for providing user interface information to a client through an accessibility system, the accessibility system including a mechanism for transferring user interface information from a provider side to the client side and a logical tree for selectively revealing user interface information, the application program interface system comprising:
-
a computer processor; client side application program interfaces for assisting the client in obtaining user interface information, wherein the client side application program interfaces include an automation class, a raw element class;
control pattern classes, an input class, and a logical element class for representing a user interface element in the logical tree, the logical tree comprising a filtered view of an underlying structural hierarchy having only one or more user interface elements that are of interest to a client and visible to a user, wherein each of the one or more user interface elements represents a control, an item in a control, or a grouping structure, the logical tree being utilized to identify information related to an event, a state of a system, a location of an object, a control, or a combination thereof, the logical tree being created by locating native user interface elements of underlying technologies that include elements that exist for structure and implementation to create one or more native trees, combining the native elements to form a raw tree that contains elements representing an implementation structure of an underlying framework and that indicates an unprocessed logical tree, and creating the logical tree by eliminating the native elements in the raw tree regarding object information and properties which are determined to be uninteresting to the client; andprovider side application program interfaces for responding to client requests, the provider side application program interfaces comprising a provider automation class, a provider automation interface, a raw element interface, and control pattern provider interfaces. - View Dependent Claims (52)
-
-
53. A computer-implemented method for providing user interface information to a client through an accessibility system, the accessibility system including a mechanism for transferring user interface information from a provider side to the client side and a logical tree for selectively revealing user interface information, the method comprising
providing client side application program interfaces for assisting the client in obtaining user interface information, wherein the client side application program interfaces include an automation class, a raw element class, control pattern classes, an input class, and a logical element class for representing a user interface element in the logical tree, the logical tree comprising a filtered view of an underlying structural hierarchy having only one or more user interface elements that are of interest to a client and visible to a user, wherein each of the one or more user interface elements represents a control, an item in a control, or a grouping structure, the logical tree being utilized to identify information related to an event, a state of a system, a location of an object, a control, or a combination thereof, the logical tree being created by locating native user interface elements of underlying technologies that include elements that exist for structure and implementation to create one or more native trees, combining the native elements to form a raw tree that contains elements representing an implementation structure of an underlying framework and that indicates an unprocessed logical tree, and creating the logical tree by eliminating the native elements in the raw tree regarding object information and properties which are determined to be uninteresting to the client; - and
supplying provider side application program interfaces for responding to client requests, the provider side application program interfaces comprising a provider automation class, a provider automation interface, a raw element interface, and control pattern provider interfaces. - View Dependent Claims (54)
- and
Specification