# US 10,311,751 B2 · Systems and methods for accessible widget selection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,311,751 B2
- Document ID: US10311751B2
- Status: Granted
- Kind: B2
- Application number: 14/842,069
- Filed: 2015-09-01
- Published: 2016-03-24
- Granted: 2019-06-04
- Earliest claimed: 2014-09-22
- Assignees: Capital One Financial Corporation
- Applicants: Capital One Financial Corporation
- Inventors: Nicholas Beranek
- Web page: https://patentgrep.com/patent/US10311751B2

## CPC

- G09B 21/006: {using audible presentation of the information}
- G06F 3/0236: {using selection techniques to select from displayed items}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0489: using dedicated keyboard keys or combinations thereof
- G06F 3/04892: Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key (arrangements for controlling cursor position based on coordinate signals G06F3/038)
- G06F 3/04895: Guidance during keyboard input operation, e.g. prompting
- G06F 9/44526: {Plug-ins; Add-ons}
- G09B 21/00: Teaching, or communicating with, the blind, deaf or mute (audible presentation of material to be studied G09B5/04; devices or methods for replacing direct visual or auditory perception by another kind of perception A61F9/08, A61F11/04; audible indication of meter readings or of colour G01D7/12; watches for blind persons G04B25/02; speech analysis, speech recognition G10L; sound-recording or reproducing, per se G11B)
- G10L 13/00: Speech synthesis; Text to speech systems
- G10L 13/04: Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G06F 9/451: Execution arrangements for user interfaces
- G06F 2203/04805: Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection
- G09B: EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS (devices for psychotechnics or for testing reaction times A61B5/16; games, sports, amusements A63; projectors, projector screens G03B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

Methods and systems are disclosed for enabling item selection in a widget. An example method comprises receiving at an electronic device, from a server, code instructing the electronic device to display a widget having a grid comprising one or more cells configured for point-and-click selection. The method further comprises displaying the grid in accordance with the received code and sending information associated with a currently selected cell to an assistive system on the electronic device. The method further comprises configuring the electronic device for keystroke operation of the widget. The method further comprises identifying a non-entry keystroke, and in response, determining a new cell associated with the grid, selecting the new cell, and sending information associated with the new cell to the assistive system for output to the user. The method further comprises identifying an entry keystroke and, responsive thereto, sending information associated with the new cell to the server.

## Claims

### Claim 1

A method of enabling keystroke cell selection on an electronic device, comprising:
receiving, at an electronic device from a server, code instructing the electronic device to display a widget having a grid comprising one or more cells configured for point-and-click selection;
displaying, in accordance with the code, the widget on the electronic device;
sending information associated with the widget to an assistive system on the electronic device for output to a user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
outputting, to the user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
configuring the electronic device for keystroke operation of the widget based on the sent information;
identifying a non-entry keystroke including an indication by the user to modify a selection of a data field on the widget, and responsive thereto:
determining a new cell based on the identified keystroke,
selecting the new cell, and
sending information associated with the new cell to the assistive system for output to the user; and
identifying an entry keystroke including an indication by the user to finalize the selection of the data field on the widget, and responsive thereto:
sending information associated with the new cell to the server;
if more than one input is required to finalize the selection of the data field, presenting a successive grid with at least one successive cell for selection by a user until the selection of the data field is finalized;
inserting information associated with the new cell or the successive cell into a data field associated with the widget;
sending the information associated with the new cell or the successive cell to the assistive system including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget; and
outputting, to the user, the information associated with the new cell or the successive cell, including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget.

### Claim 2 (depends on 1)

The method of claim 1, wherein the assistive system comprises a text-to-speech system.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the code further comprises a help tag indicating how to use the widget, and
sending information associated with a cell further comprises sending the help tag to the assistive system for output to the user.

### Claim 4 (depends on 3)

The method of claim 3, wherein receiving an entry keystroke further comprises sending the help tag and the information associated with at least one of the non-entry keystroke or the entry keystroke to the assistive system.

### Claim 5 (depends on 1)

The method of claim 1, wherein configuring the electronic device for keystroke operation comprises:
designating an operation associated with the widget for each of a plurality of non-entry keystrokes based on the widget;
designating an operation associated with the widget for each of a plurality of entry keystrokes based on the widget;
sending the designations to the assistive system as keystroke operation help tags indicating how to use the widget using keystrokes; and
configuring the electronic device to perform operations consistent with the designations.

### Claim 6 (depends on 5)

The method of claim 5, wherein
the grid comprises a calendar,
the one or more cells configured for point-and-click selection comprise one or more dates on the calendar, and
the selected cell comprises a selected date from among the one or more dates.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining whether the non-entry keystroke comprises a tabbing input;
when the non-entry keystroke comprises a tabbing input, advancing the selected cell to a next-available cell; and
when the non-entry keystroke does not comprise a tabbing input,
determining a direction associated with the non-entry keystroke,
determining a cell that is in the direction associated with the non-entry keystroke, and
advancing the current selection to the determined cell.

### Claim 8

A system configured to enable keystroke cell selection, comprising:
a screen for presenting a user interface;
an assistive system;
one or more processors; and
instructions embodied on a tangible medium that, when executed by the one or more processors, cause the one or more processors to perform steps comprising:
receiving, from a server, code instructing the system to display a widget having a grid comprising one or more cells configured for point-and-click selection;
displaying, in accordance with the code, the widget on the screen;
sending information associated with the widget to an assistive system on the electronic device for output to a user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
outputting, to the user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
configuring the system for keystroke operation of the widget based on the sent information;
identifying a non-entry keystroke including an indication by the user to modify a selection of a data field on the widget, and responsive thereto:
determining a new cell based on the identified keystroke,
selecting the new cell, and
sending information associated with the new cell to the assistive system for output to the user; and
identifying an entry keystroke including an indication by the user to finalize the selection of the data field on the widget, and responsive thereto:
sending information associated with the new cell to the server;
if more than one input is required to finalize the selection of the data field, presenting a successive grid with at least one successive cell for selection by a user until the selection of the data field is finalized;
inserting information associated with the new cell or the successive cell into a data field associated with the widget;
sending the information associated with the new cell or the successive cell to the assistive system including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget; and
outputting, to the user, the information associated with the new cell or the successive cell including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget.

### Claim 9 (depends on 8)

The system of claim 8, wherein the assistive system comprises a text-to-speech system.

### Claim 10 (depends on 8)

The system of claim 8, wherein:
the code further comprises a help tag indicating how to use the widget, and
sending information associated with a cell further comprises sending the help tag to the assistive system for output to the user.

### Claim 11 (depends on 10)

The system of claim 10, wherein receiving an entry keystroke further comprises sending the help tag and the information associated with at least one of the non-entry keystroke or the entry keystroke to the assistive system.

### Claim 12 (depends on 8)

The system of claim 8, wherein configuring the electronic device for keystroke operation comprises:
designating an operation associated with the widget for each of a plurality of non-entry keystrokes based on the widget;
designating an operation associated with the widget for each of a plurality of entry keystrokes based on the widget;
sending the designations to the assistive system as keystroke operation help tags indicating how to use the widget using keystrokes; and
configuring the electronic device to perform operations consistent with the designations.

### Claim 13 (depends on 12)

The system of claim 12, wherein
the grid comprises a calendar,
the one or more cells configured for point-and-click selection comprise one or more dates on the calendar, and
the selected cell comprises a selected date from among the one or more dates.

### Claim 14 (depends on 8)

The system of claim 8, wherein the instructions further cause the one or more processors to perform steps comprising:
determining whether the non-entry keystroke comprises a tabbing input;
when the non-entry keystroke comprises a tabbing input, advancing the selected cell to a next-available cell; and
when the non-entry keystroke does not comprise a tabbing input,
determining a direction associated with the non-entry keystroke,
determining a cell that is in the direction associated with the non-entry keystroke, and
advancing the current selection to the determined cell.

### Claim 15

A non-transitory computer-readable medium comprising instructions that, when executed by one or more electronic processors, cause the one or more processors to perform steps comprising:
receiving, from a server, code instructing the system to display a widget having a grid comprising one or more cells configured for point-and-click selection;
displaying, in accordance with the code, the widget on a screen connected to the one or more electronic processors;
sending information associated with the widget to an assistive system connected to the one or more electronic processors for output to a user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
outputting, to the user, the information comprising instructions for changing cells within the widget or for interacting with the widget;
configuring the system for keystroke operation of the widget based on the sent information;
identifying a non-entry keystroke including an indication by the user to modify a selection of a data field on the widget, and responsive thereto:
determining a new cell based on the identified keystroke,
selecting the new cell, and
sending information associated with the new cell to the assistive system for output to the user; and
identifying an entry keystroke including an indication by the user to finalize the selection of the data field on the widget, and responsive thereto:
sending information associated with the new cell to the server;
if more than one input is required to finalize the selection of the data field, presenting a successive grid with at least one successive cell for selection by a user until the selection of the data field is finalized;
inserting information associated with the new cell or the successive cell into a data field associated with the widget;
sending the information associated with the new cell or the successive cell to the assistive system including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget; and
outputting, to the user, the information associated with the new cell or the successive cell including at least one of: whether the new cell or the successive cell is active after the selection of the data field is finalized, or how to further interact with the widget.

### Claim 16 (depends on 15)

The medium of claim 15, wherein:
the code further comprises a help tag indicating how to use the widget, and
sending information associated with a cell further comprises sending the help tag to the assistive system for output to the user.

### Claim 17 (depends on 16)

The system of claim 16, wherein receiving an entry keystroke further comprises sending the help tag and the information associated with at least one of the non-entry keystroke or the entry keystroke to the assistive system.

### Claim 18 (depends on 15)

The system of claim 15, wherein configuring the electronic device for keystroke operation comprises:
designating an operation associated with the widget for each of a plurality of non-entry keystrokes based on the widget;
designating an operation associated with the widget for each of a plurality of entry keystrokes based on the widget;
sending the designations to the assistive system as keystroke operation help tags indicating how to use the widget using keystrokes; and
configuring the electronic device to perform operations consistent with the designations.

### Claim 19 (depends on 18)

The system of claim 18, wherein
the grid comprises a calendar,
the one or more cells configured for point-and-click selection comprise one or more dates on the calendar, and
the selected cell comprises a selected date from among the one or more dates.

### Claim 20 (depends on 15)

The system of claim 15, wherein the instructions further cause the one or more processors to perform steps comprising:
determining whether the non-entry keystroke comprises a tabbing input;
when the non-entry keystroke comprises a tabbing input, advancing the selected cell to a next-available cell; and
when the non-entry keystroke does not comprise a tabbing input,
determining a direction associated with the non-entry keystroke,
determining a cell that is in the direction associated with the non-entry keystroke, and
advancing the current selection to the determined cell.
