U.S. patent application number 14/017828 was filed with the patent office on 2014-03-06 for applying enhancements to visual content.
This patent application is currently assigned to Al Squared. The applicant listed for this patent is Al Squared. Invention is credited to Jeffrey P. Bigham, Aaron M. Leventhal.
Application Number | 20140063071 14/017828 |
Document ID | / |
Family ID | 49226524 |
Filed Date | 2014-03-06 |
United States Patent
Application |
20140063071 |
Kind Code |
A1 |
Leventhal; Aaron M. ; et
al. |
March 6, 2014 |
APPLYING ENHANCEMENTS TO VISUAL CONTENT
Abstract
In a computer system having originating software configured to
provide visual content for display on a display screen and
enhancement software configured to apply enhancements to the visual
content for display on the display screen, the visual content may
be magnified, via the enhancement software, to a magnification
level different from a size at which the visual content is provided
by the originating software. In response to an instruction to
change the magnification level, the magnification level to which
the visual content is magnified via the enhancement software may be
changed, and one or more enhancements, other than magnification,
applied to the visual content via the enhancement software may also
be changed.
Inventors: |
Leventhal; Aaron M.;
(Winchester, MA) ; Bigham; Jeffrey P.; (Rochester,
NY) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Al Squared |
Manchester Center |
VT |
US |
|
|
Assignee: |
Al Squared
Manchester Center
VT
|
Family ID: |
49226524 |
Appl. No.: |
14/017828 |
Filed: |
September 4, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61697054 |
Sep 5, 2012 |
|
|
|
Current U.S.
Class: |
345/661 |
Current CPC
Class: |
G06F 9/451 20180201;
G06F 2203/04805 20130101; G09G 5/37 20130101; G06F 3/04812
20130101; G06F 2203/04806 20130101; G06F 3/0481 20130101; G09G
5/373 20130101 |
Class at
Publication: |
345/661 |
International
Class: |
G09G 5/373 20060101
G09G005/373 |
Claims
1. In a computer system having originating software configured to
provide visual content for display on a display screen and
enhancement software configured to apply enhancements to the visual
content for display on the display screen, a method comprising:
magnifying the visual content, via the enhancement software, to a
magnification level different from a size at which the visual
content is provided by the originating software; and in response to
an instruction to change the magnification level, changing the
magnification level to which the visual content is magnified via
the enhancement software, and changing one or more enhancements,
other than magnification, applied to the visual content via the
enhancement software.
2. The method of claim 1, further comprising: in response to an
instruction to magnify the visual content to a first magnification
level, applying a first setting to one or more enhancements other
than magnification; and in response to an instruction to magnify
the visual content to a second magnification level different from
the first magnification level, applying a second setting different
from the first setting to the one or more enhancements.
3. The method of claim 1, further comprising: in response to an
instruction from a first user to change the magnification level,
applying a first setting to one or more enhancements other than
magnification; and in response to an instruction from a second user
to change the magnification level, applying a second setting
different from the first setting to the one or more
enhancements.
4. The method of claim 1, wherein changing the one or more
enhancements comprises activating an enhancement when the
magnification level is increased.
5. The method of claim 1, wherein changing the one or more
enhancements comprises changing a parameter of an activated
enhancement in correlation with an amount by which the
magnification level is changed.
6. The method of claim 1, further comprising providing a
single-input control for user specification of the magnification
level with automatic corresponding change to the one or more
enhancements.
7. The method of claim 1, wherein the single-input control is a
graphical slider.
8. The method of claim 1, wherein the one or more enhancements are
selected from the group consisting of: color enhancements, cursor
enhancements, pointer enhancements, focus enhancements, speech
output and tactile output.
9. At least one computer-readable storage medium storing
computer-executable instructions that, when executed, perform a
method in a computer system having originating software configured
to provide visual content for display on a display screen and
enhancement software configured to apply enhancements to the visual
content for display on the display screen, the method comprising:
magnifying the visual content, via the enhancement software, to a
magnification level different from a size at which the visual
content is provided by the originating software; and in response to
an instruction to change the magnification level, changing the
magnification level to which the visual content is magnified via
the enhancement software, and changing one or more enhancements,
other than magnification, applied to the visual content via the
enhancement software.
10. The at least one computer-readable storage medium of claim 9,
wherein the method further comprises: in response to an instruction
to magnify the visual content to a first magnification level,
applying a first setting to one or more enhancements other than
magnification; and in response to an instruction to magnify the
visual content to a second magnification level different from the
first magnification level, applying a second setting different from
the first setting to the one or more enhancements.
11. The at least one computer-readable storage medium of claim 9,
wherein the method further comprises: in response to an instruction
from a first user to change the magnification level, applying a
first setting to one or more enhancements other than magnification;
and in response to an instruction from a second user to change the
magnification level, applying a second setting different from the
first setting to the one or more enhancements.
12. The at least one computer-readable storage medium of claim 9,
wherein changing the one or more enhancements comprises activating
an enhancement when the magnification level is increased.
13. The at least one computer-readable storage medium of claim 9,
wherein changing the one or more enhancements comprises changing a
parameter of an activated enhancement in correlation with an amount
by which the magnification level is changed.
14. The at least one computer-readable storage medium of claim 9,
wherein the method further comprises providing a single-input
control for user specification of the magnification level with
automatic corresponding change to the one or more enhancements.
15. The at least one computer-readable storage medium of claim 9,
wherein the single-input control is a graphical slider.
16. The at least one computer-readable storage medium of claim 9,
wherein the one or more enhancements are selected from the group
consisting of: color enhancements, cursor enhancements, pointer
enhancements, focus enhancements, speech output and tactile
output.
17. A computer system comprising: at least one processor; and at
least one storage medium storing originating software configured to
provide visual content for display on a display screen, and storing
processor-executable instructions that, when executed by the at
least one processor, perform a method comprising: magnifying the
visual content for display on the display screen, to a
magnification level different from a size at which the visual
content is provided by the originating software; and in response to
an instruction to change the magnification level, changing the
magnification level and changing one or more enhancements, other
than magnification, applied to the visual content for display on
the display screen.
18. The computer system of claim 17, wherein the method further
comprises: in response to an instruction to magnify the visual
content to a first magnification level, applying a first setting to
one or more enhancements other than magnification; and in response
to an instruction to magnify the visual content to a second
magnification level different from the first magnification level,
applying a second setting different from the first setting to the
one or more enhancements.
19. The computer system of claim 17, wherein the method further
comprises: in response to an instruction from a first user to
change the magnification level, applying a first setting to one or
more enhancements other than magnification; and in response to an
instruction from a second user to change the magnification level,
applying a second setting different from the first setting to the
one or more enhancements.
20. The computer system of claim 17, wherein changing the one or
more enhancements comprises activating an enhancement when the
magnification level is increased.
21. The computer system of claim 17, wherein changing the one or
more enhancements comprises changing a parameter of an activated
enhancement in correlation with an amount by which the
magnification level is changed.
22. The computer system of claim 17, wherein the method further
comprises providing a single-input control for user specification
of the magnification level with automatic corresponding change to
the one or more enhancements.
23. The computer system of claim 17, wherein the single-input
control is a graphical slider.
24. The computer system of claim 17, wherein the one or more
enhancements are selected from the group consisting of: color
enhancements, cursor enhancements, pointer enhancements, focus
enhancements, speech output and tactile output.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims a priority benefit, under 35 U.S.C.
.sctn.119(e), to U.S. Provisional Application No. 61/697,054,
entitled "Enhanced Accessibility Technologies," filed Sep. 5, 2012,
under attorney docket no. A0944.70003US00, which is incorporated
herein by reference in its entirety.
BACKGROUND
[0002] With regard to computer systems, "accessibility" refers to
the extent to which a computer resource (e.g., hardware, software
applications, output content, etc.) is usable by people of all
abilities and disabilities. In particular, a focus of recent effort
has been on making computer content accessible to users with visual
impairments. Accessibility Technology (AT) software applications,
such as screen magnifiers and screen readers, have been and are
continuing to be developed to provide enhancements to visual
content on computer displays to make the visual content easier for
visually impaired users to consume.
[0003] Some AT applications provide multiple options for
enhancements that a visually impaired user could select to be
applied to visual content to make it more accessible. One common
type of enhancement is magnification, by which the visual content
is enlarged to make it easier to see. Another type of enhancement
is color enhancement, by which color of the visual content (e.g.,
background color, foreground color, reverse contrast, etc.) is
adjusted to make the visual content easier to see. Other types of
enhancement include pointer/cursor/focus enhancements, including
various visual indicators of the current position of the mouse
pointer, text cursor, input focus, etc. Yet another type of
enhancement is text-to-speech or Braille display, by which visual
content is converted to audio or tactile information that a (blind)
user can consume.
[0004] An example of a typical way of making enhancement options
available to a user is illustrated in FIG. 1. The AT software
application presents a toolbar 10 on the display screen of the
computer system (e.g., as a window on the computer desktop, which
can be viewed alongside other windows of other software
applications). Panel 20 of toolbar 10 presents user interface
elements allowing the user to identify and adjust the current
magnification level. Display/input field 22 displays the current
magnification level (in this example, "2.times.," in which visual
content is enlarged by doubling its dimensions), and also allows
the user to change to a different magnification level by selecting
field 22 with the mouse and then typing in a different
magnification level (e.g., "3.times.," "4.times.," etc.).
Alternatively, the user can adjust the magnification level using
buttons 24 and 26, which can be clicked with the mouse to increase
and decrease the magnification level, respectively. Panel 30 of
toolbar 10 presents user interface elements allowing the user to
activate and adjust other enhancements, including (in this example)
color, pointer, cursor, and font enhancements. Each of buttons 32,
34, 36 and 38 can be clicked with the mouse to cause a pop-up
window or menu to be displayed with further user interface elements
that can be used (e.g., through further mouse clicks) to activate
each desired enhancement and adjust its settings individually.
SUMMARY
[0005] One type of embodiment is directed to a method in a computer
system having originating software configured to provide visual
content for display on a display screen and enhancement software
configured to apply enhancements to the visual content for display
on the display screen, the method comprising: magnifying the visual
content, via the enhancement software, to a magnification level
different from a size at which the visual content is provided by
the originating software; and in response to an instruction to
change the magnification level, changing the magnification level to
which the visual content is magnified via the enhancement software,
and changing one or more enhancements, other than magnification,
applied to the visual content via the enhancement software.
[0006] Another type of embodiment is directed to at least one
computer-readable storage medium storing computer-executable
instructions that, when executed, perform a method in a computer
system having originating software configured to provide visual
content for display on a display screen and enhancement software
configured to apply enhancements to the visual content for display
on the display screen, the method comprising: magnifying the visual
content, via the enhancement software, to a magnification level
different from a size at which the visual content is provided by
the originating software; and in response to an instruction to
change the magnification level, changing the magnification level to
which the visual content is magnified via the enhancement software,
and changing one or more enhancements, other than magnification,
applied to the visual content via the enhancement software.
[0007] Another type of embodiment is directed to a computer system
comprising at least one processor, and at least one storage medium
storing originating software configured to provide visual content
for display on a display screen, and storing processor-executable
instructions that, when executed by the at least one processor,
perform a method comprising: magnifying the visual content for
display on the display screen, to a magnification level different
from a size at which the visual content is provided by the
originating software; and in response to an instruction to change
the magnification level, changing the magnification level and
changing one or more enhancements, other than magnification,
applied to the visual content for display on the display
screen.
BRIEF DESCRIPTION OF DRAWINGS
[0008] The accompanying drawings are not intended to be drawn to
scale. In the drawings, each identical or nearly identical
component that is illustrated in various figures is represented by
a like numeral. For purposes of clarity, not every component may be
labeled in every drawing. In the drawings:
[0009] FIG. 1 illustrates a conventional user interface for
providing access to enhancements for visual content;
[0010] FIG. 2 is a block diagram illustrating an exemplary
operating environment for a computer system in accordance with some
embodiments of the present invention;
[0011] FIGS. 3A-3C illustrate exemplary application of techniques
in accordance with some embodiments of the present invention;
[0012] FIG. 4 is a flowchart illustrating an exemplary method in
accordance with some embodiments of the present invention;
[0013] FIG. 5 is a flowchart illustrating another exemplary method
in accordance with some embodiments of the present invention;
and
[0014] FIG. 6 is a block diagram illustrating an exemplary computer
system on which aspects of the present invention may be
implemented.
DETAILED DESCRIPTION
[0015] The inventors have recognized that conventional ways of
providing access to enhancements for visual content in computer
systems, such as the example conventional user interface
illustrated in FIG. 1, may be difficult for many users to use. For
example, the fact that the user must activate and configure
settings for each type of enhancement separately requires the user
to know what enhancements and what settings he/she wants to use, as
well as where to find those enhancements and those settings within
the user interface. Many users may not know what enhancements are
available or how they would be of benefit, and may not be adept at
exploring the user interface to discover or experiment with the
available options. The inventors have further recognized that many
users may benefit from different enhancement settings at different
magnification levels, but may not realize this, or may find it too
onerous to change multiple user interface settings multiple times
as they browse through content at different magnification
levels.
[0016] The inventors have recognized that advantages over the
foregoing conventional techniques may be realized through novel
techniques that automatically apply settings for one or more other
enhancements when the user specifies the magnification level to be
applied to visual content for display in a computer system. The
inventors have appreciated that in some embodiments, by tying one
or more other enhancements to the magnification level, a user
interface for applying the enhancements may be simplified and
present fewer buttons, settings, etc., for a user to learn to
use.
[0017] Accordingly, some embodiments described herein relate to
techniques for applying enhancements to visual content in
dependence upon the magnification level, which techniques may
address one or more of the above-discussed shortcomings of
traditional methods, and/or may provide one or more of the
foregoing benefits. However, aspects of the invention are not
limited to any of these benefits, and it should be appreciated that
some embodiments may not provide any of the above-discussed
benefits and/or may not address any of the above-discussed
deficiencies that the inventors have recognized in conventional
techniques.
[0018] In some embodiments, in response to an instruction to change
the magnification level applied to visual content, one or more
other enhancements may be changed automatically, in addition to
changing the magnification level. In some embodiments, a particular
enhancement may become activated at a particular magnification
level, when it was not activated at another magnification level.
Alternatively or additionally, in some embodiments a parameter of a
particular enhancement may be varied in correlation with the
magnification level. For example, in some embodiments an
enhancement may be made stronger, more prominent, etc., when the
magnification level is increased. As used herein, the term
"magnification level" refers to a multiple of the original pixel
size of onscreen content that is magnified. A single pixel from the
original display, for example, would appear twice as large and
would require 4 pixels to display at a 2.times. magnification
level. For techniques that do not apply the same magnification to
all of the content being enhanced, the magnification level refers
to the maximum level of magnification applied to some content being
enhanced. For example, in some embodiments, magnification may be
applied preferentially to content that is deemed important (such as
the main text of a document) while other less important content
(such as menu bars, navigational controls, etc.) may be magnified
to a lesser degree or may be left unmagnified or even made smaller.
In such cases, the "magnification level" refers to the highest
level of magnification applied (i.e., to the important
content).
[0019] In some embodiments, a user interface for providing access
to enhancements for visual content may include a single-input
control, such as a slider, that allows the user to specify the
magnification level along with the corresponding automatic settings
for one or more other enhancements. In some embodiments, this
control may replace a more extensive user interface having
individual controls for individual enhancements. In other
embodiments, such a more extensive user interface may also be
provided as an alternative for users who wish to have access to it.
In some embodiments, one or more enhancements may be tied to the
magnification level and controlled via the single-input control,
while one or more other enhancements may be provided via one or
more different user interface elements, instead of being tied to
the magnification level.
[0020] It should be appreciated that the foregoing description is
by way of example only, and aspects of the invention are not
limited to providing any or all of the above-described
functionality, although some embodiments may provide some or all of
the functionality described herein.
[0021] The aspects of the present invention described herein can be
implemented in any of numerous ways, and are not limited to any
particular implementation techniques. Thus, while examples of
specific implementation techniques are described below, it should
be appreciated that the examples are provided merely for purposes
of illustration, and that other implementations are possible.
[0022] One illustrative application for the techniques described
herein is for use in a computer system 100 operated by a (human)
user 102. An exemplary operating environment for such a system is
illustrated in FIG. 2. Computer system 100 may be implemented in
any suitable form, as aspects of the invention are not limited in
this respect. For example, computer system 100 may be implemented
as a single stand-alone machine, or may be implemented by multiple
distributed machines that share processing tasks in any suitable
manner. Computer system 100 may be implemented as one or more
computers; an example of a suitable computer is described below. In
some embodiments, computer system 100 may include one or more
tangible, non-transitory processor-readable storage devices storing
processor-executable instructions, and one or more processors that
execute the processor-executable instructions to perform the
functions described herein. The storage devices may be implemented
as computer-readable storage media (i.e., tangible, non-transitory
computer-readable media) encoded with the processor-executable
instructions; examples of suitable computer-readable storage media
are discussed below.
[0023] Exemplary computer system 100 may receive input from user
102 via one or more input devices such as keyboard 106 and/or
pointing device 108, and may provide output to user 102 via one or
more output devices such as display screen 104. Any suitable
type(s) of display screen, keyboard, pointing device, and/or other
input and/or output device(s) may be used, as aspects of the
invention are not limited in this respect. Display screen 104 may
be any type of display component capable of presenting visual
content to user 102, and need not be two-dimensional.
[0024] Input and/or output devices such as display screen 104,
keyboard 106, and pointing device 108 need not be separate physical
devices, but in some embodiments may be integrated in any suitable
combination, such as in a touchscreen-type apparatus that combines
display screen, keyboard, and/or pointing device functionality. In
addition, while a single display screen, keyboard, and pointing
device are referred to herein for simplicity, some embodiments may
make use of multiple display screens, keyboards, and/or pointing
devices to provide equivalent and/or similar functionality.
[0025] In the example depicted in FIG. 2, exemplary computer system
100 includes various output-producing components, such as web
browser 110, AT application 114, and other applications 116. Each
of these processing components of system 100 may be implemented in
software, hardware, or a combination of software and hardware.
Components implemented in software may comprise sets of
processor-executable instructions that may be executed by the one
or more processors of computer system 100 to perform the
functionality described herein. Each of web browser 110, AT
application 114, and other applications 116 may be implemented as a
separate component of computer system 100 (e.g., implemented by
hardware and/or software code that is independent and performs
dedicated functions of the component), or any combination of these
components may be integrated into a single component or a set of
distributed components (e.g., hardware and/or software code that
performs two or more of the functions described herein may be
integrated, the performance of shared code may be distributed among
two or more hardware modules, etc.). In addition, any one of web
browser 110, AT application 114, and other applications 116 may be
implemented as a set of multiple software and/or hardware
components. Although the example operating environment of FIG. 2
depicts web browser 110, AT application 114, and other applications
116 implemented together on computer system 100, this is only an
example; in other examples, any or all of the components may be
implemented on one or more separate machines, or parts of any or
all of the components may be implemented across multiple machines
in a distributed fashion and/or in various combinations. It should
be understood that any such component depicted in FIG. 2 is not
limited to any particular software and/or hardware implementation
and/or configuration.
[0026] While web browser 110 and AT application 114 are provided as
examples of applications that may be run on computer system 100, it
should be appreciated that aspects of the invention are not limited
to the inclusion of either or both of web browser 110 and AT
application 114. Furthermore, while AT application 114 is provided
as a particular example of a component of computer system 100
(e.g., a software application) that may provide functionality
described herein (e.g., to apply enhancements to visual content),
it should be appreciated that aspects of the invention are not
limited to being performed by an AT application. In particular,
while providing enhancements designed to improve accessibility may
be one beneficial exemplary use of the techniques described herein,
some embodiments are not limited to accessibility technology, and
the techniques described herein may be applied to any suitable
type(s) of enhancements to visual content provided by any suitable
type(s) of application and/or component.
[0027] In some embodiments, AT application 114 may be configured to
operate (e.g., via execution of a set of instructions by the one or
more processors of computer system 100) to apply enhancements to
visual content that is provided for display on display screen 104
by AT application 114 itself and/or by other components such as web
browser 110 and/or other applications 116 (including, for example,
the operating system of computer system 100). For instance, in one
particular example, web browser 110 may provide visual content
(e.g., text, images, user interface elements, etc., included in a
web page) for display on display screen 104 at a particular default
size, and AT application 114 may process the visual content
provided by web browser 110 to apply one or more enhancements
(e.g., magnification and/or one or more other accessibility
enhancements) to the visual content before it is displayed. In such
embodiments in which a component (such as AT application 114 or a
non-AT component configured to provide functionality described
herein) operates to apply enhancements to visual content provided
for display by another component (such as, for example, web browser
110, another application 116, an operating system of computer
system 100, etc.), the component originally providing the visual
content for display is referred to herein as the "originating"
component, and the component applying the enhancements to the
visual content provided by the originating component is referred to
herein as the "enhancement" component.
[0028] It should be appreciated that in embodiments in which the
functionality described herein is provided by AT application 114
(or a non-AT component configured to provide functionality
described herein) running on computer system 100, the functionality
may be performed with respect to visual content generated and/or
otherwise provided by any suitable component(s) of computer system
100 (including visual content generated by AT application 114
itself), and computer system 100 need not include any particular
other components such as web browser 110. In embodiments in which a
web browser 110 is included in computer system 100, web browser 110
may be configured (e.g., programmed) to provide access to web pages
by downloading a web page 122 from a web server 120, executing the
code of web page 122 to render web page 122 visually, and
displaying the rendered web page 122 on display screen 104.
[0029] In some embodiments, as discussed above, visual content
provided by web browser 110, either as part of a rendered web page
or as part of the browser tool itself (e.g., browser menu items,
buttons on a browser toolbar, etc.), may be enhanced by AT
application 114 (or a non-AT component of computer system 100
configured to provide functionality described herein) for display
on display screen 104. Alternatively or additionally, in some
embodiments web browser 110 may have its own AT module 112 (e.g., a
set of instructions) configured to cause web browser 110 to operate
(e.g., via execution of the instructions by the one or more
processors of computer system 100) to apply enhancements to visual
content in any of the manners described herein. In such
embodiments, for example, web browser 110 (or suitable components
of web browser 110 other than AT module 112) may function as
originating software for the visual content, and AT module 112 may
function as enhancement software with respect to that visual
content. While AT module 112 is provided as one particular example
of a suitable component for providing functionality described
herein, it should be appreciated that some embodiments are not
limited to accessibility applications, and a similar non-AT module
could also be used.
[0030] Alternatively or additionally, in some embodiments visual
content included in web page 122 may be enhanced by execution of AT
code 124 (e.g., one or more instructions) embedded within web page
122 itself. In some embodiments, when web browser 110 executes the
code of web page 122, including AT code 124, to render web page 122
for display on display screen 104, the execution of AT code 124 may
cause web browser 110 to apply enhancements to visual content
within the rendered web page in accordance with techniques
described herein. In such embodiments, for example, suitable
portions of web page 122 (e.g., as interpreted/executed by web
browser 110), other than AT code 124, may function as originating
software for the visual content, and AT code 124 (e.g., as
interpreted/executed by web browser 110) may function as
enhancement software with respect to that visual content. While AT
code 124 is provided as one particular example of a suitable
delivery mechanism for the functionality described herein, it
should be appreciated that some embodiments are not limited to
accessibility applications, and similar non-AT code could also be
used.
[0031] In some embodiments, applying enhancements to visual content
provided by any component of computer system 100 may involve
downloading an AT resource 132 to computer system 100 from an AT
server 130. For example, in some embodiments, AT application 114
and/or web browser 110 (e.g., as directed by instructions contained
in AT module 112 and/or AT code 124) may query AT server 130 for
enhancements to be applied to certain visual content, to certain
web pages, etc., and/or for instructions as to how to apply
enhancements (e.g., as to application of enhancements in accordance
with techniques described herein). Thus, for example, AT resource
132 may comprise an indication of one or more enhancements to
apply, an indication of one or more mappings of enhancements to
visual content to implement, a script (e.g., a set of instructions)
to execute, and/or any other suitable resource to enable
functionality described herein. In some instances, AT resource 132
may function as enhancement software for visual content provided by
other originating software. While AT server 130 and AT resource 132
are provided as particular examples for a suitable delivery
mechanism for functionality described herein, it should be
appreciated that some embodiments are not limited to accessibility
applications, and similar non-AT resources could be used.
[0032] It should be appreciated from the foregoing that not all
components illustrated in FIG. 2 are necessary to include in the
same system to enable the functionality described herein. For
example, functionality described herein could be implemented in a
computer system having AT application 114 alone and/or in
conjunction with AT resource 132; a computer system having web
browser 110 in conjunction with AT module 112, AT application 114,
and/or AT code 124 embedded in web page 122, with or without the
use of AT resource 132; or a computer system having any combination
of the above. It should be appreciated that the description with
respect to FIG. 2 is merely exemplary, and aspects of the invention
are not limited to any particular software configuration or
delivery mechanism for the techniques described herein.
[0033] In some embodiments, as discussed above, one or more
enhancements may be applied to visual content for display on a
display screen in a computer system. For illustration, FIG. 3A
shows an exemplary display screen 300 displaying visual content
including a number of text input fields, a cursor 310, and a
pointer 320. The text fields might represent, for example, portions
of an address form included in a web page for the user to transmit
address information to the web server. However, as discussed above,
aspects of the invention are not limited to the context of web
pages, and the functionality described herein may in some
embodiments be provided with respect to visual content generated by
computer system components other than a web browser (such as, for
example, visual content provided to the display screen by the
operating system).
[0034] On the exemplary display screen 300 of FIG. 3A, the text
"John" has been typed into text input field 330, and cursor 310 is
positioned after the "n" to indicate that the next text typed will
be inserted at that position. Pointer 320 is located where it was
last moved by user operation of the mouse (or other pointing
device), and indicates the location at which a mouse click (or
activation of another pointing device selection mechanism) will
have an effect, if any. Also provided on exemplary display screen
300 is graphical slider 340, an example of a single-input control
that may be provided (e.g., by the enhancement software) to allow
the user to control the magnification level, and cause one or more
other enhancement settings to automatically take effect in
dependence upon the magnification level setting.
[0035] As used herein, the term "single-input control" refers to
any suitable user interface element that allows for user control of
the magnification level and causes corresponding automatic changes
to one or more other enhancements, without requiring any additional
input from the user other than the input to control the
magnification level. For example, when the single-input control is
a graphical slider such as slider 340, the user may specify the
magnification level by dragging the slider with the mouse (or other
input device used to control the slider), and in some embodiments
one or more other enhancements may be changed in response to this
user instruction to change the magnification level, without
requiring any additional input from the user. In some embodiments,
the single-input control may be labeled with particular
magnification levels, or may provide any other suitable indicator
to the user that an effect of using the control will be to change
the magnification level, and/or may provide any other suitable
indicator of the particular magnification level that will result
from the user's operation of the control in a particular way.
However, in other embodiments, the manner in which the control is
presented to the user may not indicate that it is for purposes of
magnification, or may provide any suitable indication that the
control may have effects other than magnification. For example, in
some embodiments the single-input control may be presented as a
"see it better" control, or in any other suitable way as a control
operable to increase accessibility of the visual content on the
display screen in ways not limited to magnification. It should be
appreciated that the foregoing description is provided merely for
purposes of exemplary illustration, and aspects of the invention
are not limited to any particular form of implementation of a
single-input control.
[0036] In the example of FIG. 3A, slider 340 is currently set all
the way to the left, and zero magnification is being applied to the
visual content by the enhancement software. That is, the size of
the visual content on display screen 300 in FIG. 3A is the size at
which the visual content is provided by the originating software,
and is unchanged by the enhancement software. FIG. 3B illustrates
an example in which slider 340 has been moved one notch to the
right. In this case, one effect of this setting on slider 340 is to
set the magnification level applied by the enhancement software to
2.times., enlarging the visual content by doubling its dimensions.
In addition, other enhancements have been changed in response to
the change in magnification level, in accordance with some
embodiments of the present invention. In this example, a cursor
enhancement has been activated; triangles 350 are now displayed to
mark the current position of the cursor and make it easier for the
user to locate. A pointer enhancement has also been activated;
crosshairs 360 are now displayed to mark the current position of
the pointer and make it easier for the user to locate and
follow.
[0037] In the example illustrated in FIG. 3C, slider 340 has been
moved another notch to the right. In this case, one effect of this
setting on slider 340 is to change the magnification level applied
by the enhancement software to 4.times., enlarging the visual
content again by doubling its dimensions from what they were in
FIG. 3B (making the visual content four times larger than it was in
1.times. in FIG. 3A). In addition, other enhancements have been
changed in response to the change in magnification level. In this
example, cursor enhancement 350 and pointer enhancement 360 have
been made larger; in this particular example, they have more than
doubled in size/thickness, although the magnification level has
only doubled with respect to that in FIG. 3B. Also, another
enhancement has now been activated; focus enhancement 370 outlines
text input field 330, indicating that it currently has input focus,
and that any text input provided via the keyboard will take effect
in that field.
[0038] As can be seen from the example in FIGS. 3A-3C, in some
embodiments the user (or a program instruction) may provide an
instruction to change the magnification level applied by the
enhancement software, and one or more changes may be made
automatically to one or more other enhancements in response to the
instruction to change the magnification level. As discussed above,
references herein to an "instruction to change the magnification
level" include user input via an interface element specifically
designated as related to magnification, as well as user input via a
more generic interface element such as a "see it better" slider
having an observable effect on the magnification level.
[0039] Any suitable type(s) of enhancements may be applied to
visual content in conjunction with magnification, as aspects of the
invention are not limited in this respect. Non-limiting examples of
suitable enhancements include color enhancements (e.g., background
color change, foreground color change, contrast change, etc.),
cursor enhancements (e.g., circles, triangles, colors, etc.,
applied to the cursor), pointer enhancements (e.g., circles,
crosshairs, colors, etc., applied to the pointer), focus
enhancements (e.g., outlining around input fields, menu items,
dialog options, toolbar controls, other controls, etc., having
input focus), enhancement of a selected range of information (e.g.,
highlighted or otherwise selected text, selected spreadsheet cells,
etc.), font enhancements (e.g., boldness), speech output (e.g.,
screen reading, text-to-speech for visual content that the user
selects, navigates to, or hovers over with the pointer), tactile
output (e.g., Braille output for visual content that the user
selects, navigates to, or hovers over with the pointer), animation
effects, etc.
[0040] In some embodiments, a different setting or set of settings
may be applied to the available enhancements at one magnification
level than at another magnification level. For example, in some
embodiments, a setting for enhancements at a particular
magnification level may have zero, one, or more of the other
available enhancements activated at that magnification level, and
the remaining enhancements not activated. At another magnification
level, more, fewer, and/or different ones of the available
enhancements may be activated. In one particular example,
additional enhancements may be activated at increasing
magnification levels. This was demonstrated in the example of FIGS.
3A-3C, in which the pointer and cursor enhancements became active
at 2.times. magnification, while the focus enhancement did not
become active until 4.times. magnification. Alternatively or
additionally, in some embodiments one or more enhancements that are
activated may have one or more parameters that may be automatically
changed in correlation with the magnification level. For example,
in some embodiments, one or more enhancements may become stronger,
brighter, larger, thicker, more prominent, etc., as the
magnification level increases. This was demonstrated in the example
of FIGS. 3A-3C, in which the pointer and cursor enhancements became
thicker and larger at 4.times. magnification than they were at
2.times. magnification. In some embodiments, the degree to which an
enhancement parameter is changed in response to a magnification
level change may be greater than the degree of change in the
magnification level. This was demonstrated in the example of FIGS.
3A-3C, in which the pointer and cursor enhancements more than
doubled in thickness/size in response to a mere doubling of the
magnification level. In some embodiments, a mathematical equation
may be established to determine the amount of change in an
enhancement parameter that will result from a particular amount of
change in the magnification level. However, this is not required,
and in some embodiments the parameter settings for an enhancement,
although correlated with the magnification level, may not be
mathematically determined, but may be derived and/or specified in
any other suitable way, such as in a look-up table.
[0041] The determination of which enhancements activate using which
parameter settings at which magnification levels may be made in any
suitable way, as aspects of the invention are not limited in this
respect. In some embodiments, enhancement settings may differ for
different computer systems, for visual content provided by
different originating software applications, and/or for different
users. In some embodiments, a particular user may specify (e.g., by
inputting appropriate settings) one or more enhancement settings
that the user desires to be automatically applied at one or more
particular magnification levels. Alternatively or additionally, in
some embodiments the enhancement software may be programmed with
particular enhancement settings to automatically apply at
particular magnification levels for particular users or types of
users. Such settings may be determined in any suitable way,
including by determining the statistical needs of one or more user
groups at various magnification levels, such as by conducting
surveys or monitoring typical user interaction with conventional
enhancement settings to determine the statistical needs of one or
more user groups.
[0042] It should be appreciated from the foregoing that one
embodiment of the invention is directed to a method 400 for
applying enhancements to visual content, as illustrated in FIG. 4.
Method 400 may be performed, for example, by one or more components
of a computer system 100, although other implementations are
possible, as method 400 is not limited in this respect. Method 400
begins at act 410, at which visual content may be magnified. As
discussed above, in some embodiments the visual content may be
provided for display on a display screen of the computer system by
originating software, and may be magnified by enhancement software
to a magnification level different from the size at which it was
provided by the originating software. At act 420, an instruction to
change the magnification level may be received, e.g., from a user.
At act 430, in response to the instruction to change the
magnification level, the level to which the visual content is
magnified via the enhancement software may be changed, and
additionally one or more enhancements, other than magnification,
that are applied to the visual content via the enhancement software
may be changed.
[0043] It should be further appreciated from the foregoing that
another embodiment of the invention is directed to a method 500 for
applying enhancements to visual content, as illustrated in FIG. 5.
Method 500 may be performed, for example, by one or more components
of a computer system 100, although other implementations are
possible, as method 500 is not limited in this respect. Method 500
begins at act 510, at which the enhancement software may register,
for each available enhancement, an observer (i.e., a software
component that monitors for and/or detects the occurrence of a
particular event or set of events) for notifications of changes to
the magnification level applied by the enhancement software. At act
520, these observers may monitor for any such change in the
magnification level.
[0044] At act 530, a determination may be made as to whether the
magnification level has been changed, e.g., by the user or by a
program instruction. While the magnification level remains
unchanged, method 500 may loop at act 520 to continue to monitor.
When the magnification level is changed, a notification may be
generated, and may be received by the registered observers. At act
540, each observer (e.g., via the observer's handler) may map the
new magnification level (together with any relevant user-specific
settings, application-specific settings and/or system-specific
settings) to the appropriate settings (e.g., activation on or off,
and/or parameter settings) for the observer's assigned enhancement.
At act 550, the enhancement software may apply the new
magnification level, as well as the enhancement settings determined
by the registered observers for that magnification level, to the
visual content for display on the display screen. Method 500 then
loops back to act 520 to monitor for further changes to the
magnification level.
[0045] It should be appreciated that the foregoing description is
provided by way of example only, and other implementations are
possible. For example, other mechanisms for reacting to changes in
the magnification level may be used, including but not limited to
polling to check for magnification level changes, or controlling
the available enhancements from within the magnification code.
[0046] A computer system in accordance with the techniques
described herein may take any suitable form, as aspects of the
present invention are not limited in this respect. An illustrative
implementation of a computer system 600 that may be used in
connection with some embodiments of the present invention is shown
in FIG. 6. One or more computer systems such as computer system 600
may be used to implement any of the functionality described above.
The computer system 600 may include one or more processors 610 and
one or more computer-readable storage media (i.e., tangible,
non-transitory computer-readable media), e.g., volatile storage 620
and one or more non-volatile storage media 630, which may be formed
of any suitable non-volatile data storage media. The processor 610
may control writing data to and reading data from the volatile
storage 620 and/or the non-volatile storage device 630 in any
suitable manner, as aspects of the present invention are not
limited in this respect. To perform any of the functionality
described herein, processor 610 may execute one or more
instructions stored in one or more computer-readable storage media
(e.g., volatile storage 620 and/or non-volatile storage 630), which
may serve as tangible, non-transitory computer-readable media
storing instructions for execution by the processor 610.
[0047] The above-described embodiments of the present invention can
be implemented in any of numerous ways. For example, the
embodiments may be implemented using hardware, software or a
combination thereof. When implemented in software, the software
code can be executed on any suitable processor or collection of
processors, whether provided in a single computer or distributed
among multiple computers. It should be appreciated that any
component or collection of components that perform the functions
described above can be generically considered as one or more
controllers that control the above-discussed functions. The one or
more controllers can be implemented in numerous ways, such as with
dedicated hardware, or with general purpose hardware (e.g., one or
more processors) that is programmed using microcode or software to
perform the functions recited above.
[0048] It should be appreciated that a computer may be embodied in
any of a number of forms, such as a rack-mounted computer, a
desktop computer, a laptop computer, or a tablet computer.
Additionally, a computer may be embedded in a device not generally
regarded as a computer but with suitable processing capabilities,
including a Personal Digital Assistant (PDA), a smart phone or any
other suitable portable or fixed electronic device.
[0049] In this respect, it should be appreciated that one
implementation of embodiments of the present invention comprises at
least one computer-readable storage medium (i.e., at least one
tangible, non-transitory computer-readable medium, e.g., a computer
memory (e.g., hard drive, flash memory, processor working memory,
etc.), a floppy disk, an optical disc, a magnetic tape, or other
tangible, non-transitory computer-readable medium) encoded with a
computer program (i.e., a plurality of instructions), which, when
executed on one or more processors, performs above-discussed
functions of embodiments of the present invention. The
computer-readable storage medium can be transportable such that the
program stored thereon can be loaded onto any computer resource to
implement aspects of the present invention discussed herein. In
addition, it should be appreciated that the reference to a computer
program which, when executed, performs above-discussed functions,
is not limited to an application program running on a host
computer. Rather, the term "computer program" is used herein in a
generic sense to reference any type of computer code (e.g.,
software or microcode) that can be employed to program one or more
processors to implement above-discussed aspects of the present
invention.
[0050] The phraseology and terminology used herein is for the
purpose of description and should not be regarded as limiting. The
use of "including," "comprising," "having," "containing,"
"involving," and variations thereof, is meant to encompass the
items listed thereafter and additional items. Use of ordinal terms
such as "first," "second," "third," etc., in the claims to modify a
claim element does not by itself connote any priority, precedence,
or order of one claim element over another or the temporal order in
which acts of a method are performed. Ordinal terms are used merely
as labels to distinguish one claim element having a certain name
from another element having a same name (but for use of the ordinal
term), to distinguish the claim elements.
[0051] Having described several embodiments of the invention in
detail, various modifications and improvements will readily occur
to those skilled in the art. Such modifications and improvements
are intended to be within the spirit and scope of the invention.
Accordingly, the foregoing description is by way of example only,
and is not intended as limiting. The invention is limited only as
defined by the following claims and the equivalents thereto.
* * * * *