System and method for making user interface elements known to an application and user
First Claim
1. A computer-implemented method for programmatically manipulating a user interface element, the method comprising:
- automatically determining from the element whether the element supports a control pattern by;
receiving a query, from a screen reader automation utility, requesting a control pattern supported by the element;
in response to receiving a query requesting a control pattern, determining a control pattern supported by the element, the element being of a particular element type, the control pattern describing basic functionality exposed by a plurality of types of elements that corresponds to methods supported by the element;
returning an interface that includes the methods associated with the control pattern supported by the element to the screen reader automation utility;
using the screen reader automation utility programmatically manipulate the element based on the control pattern without reference to the element'"'"'s type by using at least one of the methods that enable functionality associated with the control pattern exposed by the element;
requesting from the element a plurality of properties that can be used by the screen reader automation utility to gather information deemed to be important to a user, the plurality of properties including human-readable text that refers to an attribute of the element, wherein the attribute of the element comprises information about the element that, if conveyed to the user, informs the user about the element; and
verbally conveying the information to the user.
3 Assignments
0 Petitions
Accused Products
Abstract
Control patterns are used to describe functionality that may be exposed by one or more types of elements or controls. Functionality that is common among two or more types of elements is described by the same control pattern. Certain predefined methods, structures, properties, and/or events may be associated with a particular control pattern. Elements that support the control pattern, when queried, return an interface that describes those methods, structures, properties, and/or events. Control patterns are mutually exclusive in the functionality they represent, so they may be combined in arbitrary ways to expose the complete set of functionality offered by a particular control.
42 Citations
15 Claims
-
1. A computer-implemented method for programmatically manipulating a user interface element, the method comprising:
-
automatically determining from the element whether the element supports a control pattern by; receiving a query, from a screen reader automation utility, requesting a control pattern supported by the element; in response to receiving a query requesting a control pattern, determining a control pattern supported by the element, the element being of a particular element type, the control pattern describing basic functionality exposed by a plurality of types of elements that corresponds to methods supported by the element; returning an interface that includes the methods associated with the control pattern supported by the element to the screen reader automation utility; using the screen reader automation utility programmatically manipulate the element based on the control pattern without reference to the element'"'"'s type by using at least one of the methods that enable functionality associated with the control pattern exposed by the element; requesting from the element a plurality of properties that can be used by the screen reader automation utility to gather information deemed to be important to a user, the plurality of properties including human-readable text that refers to an attribute of the element, wherein the attribute of the element comprises information about the element that, if conveyed to the user, informs the user about the element; and verbally conveying the information to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable medium having computer-executable components for manipulating an element, comprising:
a screen reader automation utility configured to; transmit a query requesting a control pattern supported by an element of a different application, the element being a user interface element; receive a response from the different application, in response to the query, the response includes an interface in accordance with a control pattern that corresponds to a functional method supported by the element; programmatically manipulate the element based on the control pattern without reference to the element'"'"'s type by using the functional method that enable functionality associated with the control pattern supported by the element; gather descriptive information about other elements of the user interface without requiring the screen reader automation utility to know a type of the element; request from the element a plurality of properties that can be used by the screen reader automation utility to gather information deemed to be important to a user, the plurality of properties including human-readable text that refers to an attribute of the element, wherein the attribute of the element comprises information about the element that, if conveyed to the user, informs the user about the element; and verbally conveying the information to the user. - View Dependent Claims (9, 10, 11, 12)
-
13. A computer-readable medium having computer-executable components for manipulating an element, comprising:
-
receiving a query at the application including the element, the query requesting control patterns supported by the element from the screen reader automation utility; in response to receiving the query requesting control patterns, identifying one or more control patterns that are supported by the element, each control pattern describes a particular behavior of the element and associates methods supported by the element; returning an interface that includes methods associated with the one or more control patterns supported by the element to the screen reader automation utility; programmatically manipulating the element base on the one or more control patterns supported by the element without reference to the element'"'"'s type by using the methods that enable behaviors associated with the control patterns supported by the element; requesting from the element a plurality of properties that can be used by the screen reader automation utility to identify information deemed to be important to a user, the properties including human-readable text that refers to an attribute of the element, wherein the attribute of the element comprises information about the element that, if conveyed to the user, informs the user about the element, and the properties being audibly conveyed to the user by the screen reader automation utility. - View Dependent Claims (14, 15)
-
Specification