US11636632B2 - Automated icon accessibility assessment algorithm and tool - Google Patents

Automated icon accessibility assessment algorithm and tool Download PDF

Info

Publication number
US11636632B2
US11636632B2 US17/551,462 US202117551462A US11636632B2 US 11636632 B2 US11636632 B2 US 11636632B2 US 202117551462 A US202117551462 A US 202117551462A US 11636632 B2 US11636632 B2 US 11636632B2
Authority
US
United States
Prior art keywords
icon
score
grid
border
percentage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US17/551,462
Other versions
US20220108477A1 (en
Inventor
Aaron Noll
Eric Wilson
Mayur Rajendran
Alex Lende
Anna-Therese Fowler
Jay Vaglio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cerner Innovation Inc
Original Assignee
Cerner Innovation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cerner Innovation Inc filed Critical Cerner Innovation Inc
Priority to US17/551,462 priority Critical patent/US11636632B2/en
Assigned to CERNER INNOVATION, INC. reassignment CERNER INNOVATION, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FOWLER, ANNA-THERESE, LENDE, ALEX, NOLL, AARON, RAJENDRAN, MAYUR, Vaglio, Jay, WILSON, ERIC
Publication of US20220108477A1 publication Critical patent/US20220108477A1/en
Application granted granted Critical
Publication of US11636632B2 publication Critical patent/US11636632B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04897Special input arrangements or commands for improving display capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/02Recognising information on displays, dials, clocks

Definitions

  • Color contrast itself helps ensure items found on a user interface are visible, distinguishable, and understood by all users, including those utilizing assistive visual technologies (e.g. magnification) or those that are colorblind.
  • contrast ratio calculation used by these tools is only one part of accessibility for iconography. Additionally, current tools provide pre-determined color ratio thresholds which do not take into consideration changing requirements (based on country, application type, etc.). Furthermore, in the case of icons, complexity (e.g. gradients of color) can make checking all the various colors on the border of the icon challenging and time consuming. For example, for a typical healthcare software application having approximately five thousand five hundred icons, it would take approximately ten minutes to check accessibility for each icon, or more than five months for a single employee assigned to the task.
  • Embodiments of the present invention relate to providing tools to validate color contrast. More particularly, three discrete color check processes are performed to ensure a user is able to identify when an icon is at risk of being inaccessible by some users.
  • a border score considers each pixel at the edge of an icon compared to the background in which it is placed.
  • An area score considers each discrete pixel of an icon compared to the background in which it is placed.
  • a grid score considers a subdivision of an icon compared to the background in which it is placed.
  • FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention
  • FIG. 2 is an exemplary system architecture suitable for use in implementing embodiments of the present invention
  • FIGS. 3 - 5 are illustrative screen displays in accordance with embodiments of the present invention.
  • FIG. 6 - 10 are flow diagrams of methods in accordance with embodiments of the present invention.
  • Color contrast itself helps ensure items found on a user interface are visible, distinguishable, and understood by all users, including those utilizing assistive visual technologies (e.g. magnification) or those that are colorblind.
  • contrast ratio calculation used by these tools is only one part of accessibility for iconography. Additionally, current tools provide pre-determined color ratio thresholds which does not take into consideration changing requirements (based on country, application type, etc.). Furthermore, in the case of icons, complexity (e.g. gradients of color) can make checking all the various colors on the border of the icon challenging and time consuming. For example, for a typical healthcare software application having approximately five thousand five hundred icons, it would take approximately ten minutes to check accessibility for each icon, or more than five months for a single employee assigned to the task.
  • Embodiments of the present disclosure relate to providing tools to validate color contrast. More particularly, three discrete color check processes are performed to ensure a user is able to identify when an icon is at risk of being inaccessible by some users.
  • a border score considers each pixel at the edge of an icon compared to the background in which it is placed.
  • An area score considers each discrete pixel of an icon compared to the background in which it is placed.
  • a grid score considers a subdivision (e.g., sixteen 4 ⁇ 4 discrete chunks) of an icon compared to the background in which it is placed.
  • a summative score is provided. The summative score categories the icon into a risk level. Depending on the risk level, the icon may need to be refined to ensure it becomes more accessible.
  • the tools enable a user to adjust thresholds of risk for changing requirements or regulations, which may vary from country to country or based on the type of application (e.g., medical software). This flexibility ensures guidelines are met for any country or type of application.
  • the tools may be utilized to assist in design decisions for the general user interface. For example, icon accessibility is influenced by the context in which it is applied. An icon that is one hundred percent red in color could be accessible on a white table row. However, if the table row is selected, it may turn another color (e.g., blue). The same red icon may become inaccessible (e.g. color blind users may lose visibility of where the icon is located).
  • the tools allow for an icon to be scored against one or as many colors as configured. This enables a user to upload icons and understand background colors that can influence the accessibility of the icon more or less than other background colors.
  • the tools enable a user to upload as many icons as the user selects. Additionally, the user may configure as many background colors as the user desires.
  • Each of these features provides significant time advantages and allows for a broader understanding of the risks for the icon (e.g. assessing hundreds of background colors for a single icon).
  • the user in addition to providing a risk level for the icon, the user can hover over a respective risk level and the icon itself highlights which part(s) of the icon was assessed and is at risk.
  • the tools do not just provide the risk level but actually informs the user where on the icon is at the particular risk level.
  • one embodiment of the present disclosure is directed to a system for providing an icon accessibility tool.
  • the system includes a processor; and a computer storage medium storing computer-usable instructions that, when used by the processor, cause the processor to: convert an image containing an icon into arrays of red green blue alpha (RGBA) values; determine an area score for each icon for each background color; determine a border score for each icon; divide the image into arrays of RBGA values corresponding to grid squares; and determine a grid score for each grid square of the image.
  • RGBA red green blue alpha
  • the present disclosure directed to a computerized method for providing an icon accessibility tool.
  • the method includes: converting an icon, for each icon in an image, into arrays of red blue green alpha (RGBA) values; determining an area score for each icon for each background color; determining a border score for each icon; dividing the image into arrays of RBGA values corresponding to grid squares; determining a grid score for each grid square of the image; and providing a composite score to a user, the composite score considering the area score, the border score, and the grid score for each icon of the image to evaluate a risk of each icon of the image not being accessible to the corresponding background.
  • RGBA red blue green alpha
  • the present disclosure is directed to one or more computer storage media having computer-executable instructions embodied thereon that, when executed by a computer, causes the computer to perform operations to provide an icon accessibility tool.
  • the operations include: converting an icon, for each icon in an image, into arrays of red green blue alpha (RGBA) values; dividing the image into arrays of RBGA values corresponding to grid squares; determining an array of coordinates for opaque pixels of an icon; excluding all pixels below an opaque alpha threshold; identifying a relative luminance between opaque pixels and a background color; providing an area score, the area score being a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio; determining an array of coordinates of border pixels by finding pixels that are not transparent, an outer pixel, or have a transparent neighboring pixel; identifying a relative luminance between opaque border pixels and a background color; providing a border score, the border score being the percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio, wherein pixels that are not
  • FIG. 1 provides an aspect of an example operating environment with which embodiments of the present invention may be implemented.
  • the aspect of an operating environment is illustrated and designated generally as reference numeral 100 .
  • Example operating environment 100 comprises a general purpose computing device in the form of a control server 102 .
  • Exemplary components of the control server 102 comprise a processing unit, internal system memory, and a suitable system bus for coupling various system components, including database cluster 104 , with the control server 102 .
  • the system bus might be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus, using any of a variety of bus architectures.
  • Exemplary architectures comprise Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronic Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, also known as Mezzanine bus.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronic Standards Association
  • PCI Peripheral Component Interconnect
  • Control server 102 typically includes therein, or has access to, a variety of computer-readable media, for instance, database cluster 104 .
  • Computer-readable media can be any available media that might be accessed by control server 102 , and includes volatile and nonvolatile media, as well as, removable and nonremovable media.
  • Computer-readable media might include computer storage media.
  • Computer storage media includes volatile and nonvolatile media, as well as removable and nonremovable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.
  • computer storage media might comprise RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage device, or any other medium which can be used to store the desired information and which may be accessed by the control server 102 .
  • Computer storage media does not comprise signals per se. Combinations of any of the above also may be included within the scope of computer-readable media.
  • the computer storage media discussed above and illustrated in FIG. 1 including database cluster 104 , provide storage of computer-readable instructions, data structures, program modules, and other data for the control server 102 .
  • data cluster 104 takes the form of a cloud-based data store, and in some embodiments is accessible by a cloud-based computing platform.
  • the control server 102 might operate in a computer network 106 using logical connections to one or more remote computers 108 .
  • Remote computers 108 might be located at a variety of locations in a medical or research environment, including clinical laboratories (e.g., molecular diagnostic laboratories), hospitals and other inpatient settings, veterinary environments, ambulatory settings, medical billing and financial offices, hospital administration settings, home healthcare environments, and providers' offices.
  • Providers may comprise a treating physician or physicians; specialists such as surgeons, radiologists, cardiologists, and oncologists; emergency medical technicians; physicians' assistants; nurse practitioners; nurses; nurses' aides; pharmacists; dieticians; microbiologists; laboratory experts; laboratory technologists; genetic counselors; researchers; veterinarians; students; and the like.
  • the remote computers 108 might also be physically located in nontraditional medical care environments so that the entire healthcare community might be capable of integration on the network.
  • the remote computers 108 might be personal computers, servers, routers, network PCs, peer devices, other common network nodes, or the like and might comprise some or all of the elements described above in relation to the control server 102 .
  • the devices can be personal digital assistants or other like devices.
  • remote computers 108 comprise computing-devices that are part of a cloud-computing platform.
  • the control server 102 might operate in a computer network 106 hosted as part of a cloud service (e.g., AMAZON WEB SERVICES, GOOGLE HOSTING, IBM BLUEMIX).
  • a remote computer 108 is associated with a health records data source such as an electronic health record (EHR) system of a hospital or medical organization, a health information exchange EHR, insurance provider EHR, ambulatory clinic EHR, or patient-sensor, or other data source, and facilitates accessing data of the source and communicating the data to control server 102 and/or other computing devices on a cloud computing platform, including other remote computers 108 .
  • EHR electronic health record
  • Exemplary computer networks 106 comprise local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
  • the control server 102 When utilized in a WAN networking environment, the control server 102 might comprise a modem or other means for establishing communications over the WAN, such as the Internet.
  • program modules or portions thereof might be stored in association with the control server 102 , the database cluster 104 , or any of the remote computers 108 .
  • various application programs may reside on the memory associated with any one or more of the remote computers 108 . It will be appreciated by those of ordinary skill in the art that the network connections shown are exemplary and other means of establishing a communications link between the computers (e.g., control server 102 and remote computers 108 ) might be utilized.
  • an organization might enter commands and information into the control server 102 or convey the commands and information to the control server 102 via one or more of the remote computers 108 through input devices, such as a keyboard, a pointing device (commonly referred to as a mouse), a trackball, or a touch pad.
  • input devices such as a keyboard, a pointing device (commonly referred to as a mouse), a trackball, or a touch pad.
  • Other input devices comprise microphones, satellite dishes, scanners, or the like.
  • Commands and information might also be sent directly from a remote healthcare device to the control server 102 .
  • the control server 102 and/or remote computers 108 might comprise other peripheral output devices, such as speakers and a printer.
  • control server 102 is a computing system or platform made up of one or more computing devices.
  • Embodiments of control server 102 may be a distributed computing system, a centralized computing system, a single computer such as a desktop or laptop computer or a networked computing system.
  • control server 102 comprises a multi-agent computer system with software agents.
  • FIG. 2 an exemplary framework of an accessibility system 200 is shown, in accordance with an aspect of the present invention. It should be understood that this and other arrangements described herein are set forth only as examples. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used in addition to or instead of those shown, and some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory. The accessibility system 200 may be implemented via any type of computing device, such as computing device 100 described above with reference to FIG. 1 , for example.
  • the accessibility system 200 generally operates to provide an automated icon accessibility algorithm and tool.
  • the accessibility system 200 can receive as input, an icon or an image of icons from applications 210 A- 210 C, and automatically determine which icon or icons need to be refined to meet accessibility guidelines.
  • an application having icons can have the icons quickly and automatically analyzed to confirm they meet accessibility guidelines.
  • thresholds utilized to apply the various algorithms can be adjusted as need to meet varying accessibility guidelines, the icons can be quickly and automatically analyzed to confirm they meet varying guidelines (to comply with differing guidelines from different agencies or organizations or to ensure guidelines that may change from time to time are met by icon usage in current or legacy applications).
  • the accessibility system 200 includes, among other components not shown, applications 210 A- 210 C, network 212 , and icon tool 214 . It should be understood that the accessibility system 200 shown in FIG. 2 is an example of one suitable computing system architecture. Each of the components shown in FIG. 2 may be implemented via any type of computing device, such as computing device 100 described with reference to FIG. 1 , for example.
  • the components may communicate with each other via a network 212 , which may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that any number of applications or icon tools may be employed within the accessibility system 200 within the scope of the present disclosure.
  • Each may comprise a single device or multiple devices cooperating in a distributed environment.
  • components of the icon tool 214 may be provided via multiple devices arranged in a distributed environment that collectively provide the functionality described herein.
  • a single device may provide the functionality of multiple components of the icon tool 214 or accessibility system 200 .
  • a single device may provide the application and the icon tool.
  • other components not shown may also be included within the network environment.
  • the applications 210 A- 210 C include images comprising icons or icons.
  • a composite score for the applications 210 A- 210 C (which is generally provided on a per image or per icon basis) can be determined by utilizing the icon tool 214 .
  • the icon tool 214 may determine which icon needs refinement in order to comply with a particular accessibility guideline.
  • an image refers to the container for the icon (a two-dimensional bitmap sometimes referred to as the pixel grid).
  • the icon fills the image in order for the image to be used with icon tool 214 .
  • the icon is independent from any other content, and the bounding box for the icon is the size of the image.
  • Icon tool 214 is generally configured to determine an accessibility of an icon or image, such as one corresponding to applications 210 A- 210 C.
  • icon tool 214 may comprise a border component 216 , an area component 218 , a grid component 220 , and a summative component 222 .
  • Each of the border component 216 , the area component 218 , the grid component 220 , and the summative component 222 may utilize various algorithm, as described in more detail below, that are dependent on configurable thresholds.
  • the configurable thresholds enable the algorithms to dynamically adjust based on changes in accessibility guidelines.
  • icon tool 214 may convert an icon, for each icon in an image into arrays of RGBA values which is utilized by border component 216 and area component 218 .
  • Icon tool may additionally divide an image into arrays of RGBA values corresponding to grid squares.
  • icon tool 214 may also be utilized as a web application via the server or a native application on the client-machine (applications 210 A- 210 C).
  • Border component 216 generally determines a border score for each image or icon. To do so, border component 216 initially determines an array of coordinates of border pixels by finding pixels that both: 1) not transparent; and 2) either a pixel at the edge of the image boundary or have a transparent neighboring pixel. A relative luminance is identified, by border component 216 , between opaque border pixels and a background color. Border component 216 provides the border score which is a percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio (as described herein, can be configured in accordance with a particular accessibility guideline). For clarity, pixels that are not transparent are pixels that have an alpha value that is above a transparent alpha threshold, which as described herein, can be configured in accordance with a particular accessibility guideline.
  • Area component 218 generally determines an area score for each image or icon. To do so, area component 218 initially determines an array of coordinates for opaque pixels of an icon. All pixels below an opaque alpha threshold are excluded by area component 218 . As described herein, the opaque alpha threshold can be configured in accordance with a particular accessibility guideline. Area component 218 identifies a relative luminance between opaque pixels and a background color. An area score that is a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio is provided by area component 218 .
  • Grid component 220 generally determines a grid score for each image or icon. To do so, grid component 220 initially filters out grid squares that are entirely composed of transparent pixels. For any remaining grid squares, grid component 220 identifies a percentage of opaque pixels greater than an area threshold. The area threshold can be configured in accordance with a particular accessibility guideline, as described herein. A grid score that is the percentage of grid squares that have the percentage of opaque pixels greater than the area threshold is provided by the grid component 220 .
  • Summative component 222 generally provides a composite score to a user.
  • the composite score considers the area score, the border score, and the grid score for each icon of the image to evaluate a risk of each icon of the image not being accessible to the corresponding background.
  • Summative component 222 may provide composite scores for the icon with multiple varying backgrounds to enable the user to select the most accessible icon in accordance with the background having the lowest risk composite score.
  • FIGS. 3 - 5 illustrative screen displays are provided, in accordance with embodiments of the present invention.
  • FIG. 3 illustrates an exemplary accessibility tool 300 for configuring thresholds to adjust for accessibility guidelines.
  • border threshold 310 As illustrated, border threshold 310 , area threshold 320 , minimum contrast ratio 330 , opaque alpha 340 , and transparent alpha 350 can each be adjusted to comply with a particular accessibility guideline.
  • FIG. 4 once the appropriate thresholds have been adjusted, an image or icon 410 can be selected via the accessibility tool 400 .
  • a composite score (corresponding to a ranking) along with border score, area score, and grid score is provided for the icon with various background colors.
  • a list of high risk icons 510 As illustrated, a list of medium risk icons 520 , and a list of low risk icons 530 is provided.
  • Method 600 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
  • an icon is converted into arrays of RBGA values.
  • an area score and a border score are determined for the icon.
  • Method 700 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
  • an image is divided into arrays of RGBA values corresponding to grid squares.
  • the grid score of the image is determined.
  • Method 800 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
  • an array of coordinates is determined for opaque pixels of an icon.
  • step 820 all pixels below an opaque alpha threshold are excluded.
  • a relative luminance is identified between opaque pixels and a background color.
  • an area score is provided.
  • the area score is a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio.
  • FIG. 9 a flow diagram is provided illustrating a method 900 for utilizing the border score algorithm to determine the border score of an icon, in accordance with embodiments of the present invention, in accordance with embodiments of the present invention.
  • Method 900 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
  • an array of coordinates of border pixels is determined by finding pixels that: 1) are not transparent, at step 920 ; and 2) an outer pixel or have a transparent neighboring pixel, at step 930 .
  • An outer pixel refers to any pixel within the first or last column or row of the image.
  • a relative luminance is identified between opaque border pixels and a background color.
  • a border score is provided.
  • the border score is the percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio, wherein pixels that are not transparent are pixels that have an alpha value that is above an transparent alpha threshold.
  • Method 1000 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
  • step 1010 grid squares that are entirely composed of transparent pixels are filtered out.
  • any remaining grid squares are evaluated using the grid score algorithm.
  • step 1030 if percentage of opaque pixels is greater than the area threshold for a given grid square, it passes the grid score algorithm.
  • step 1040 the percentage of non-transparent grid squares that pass is returned as the grid score.

Abstract

Systems, methods, and computer-readable media for providing tools to validate color contrast are provided. To do so, three discrete color check processes are performed to ensure a user is able to identify when an icon is at risk of being inaccessible by some users. A border score considers each pixel at the edge of an icon compared to the background in which it is placed. An area score considers each discrete pixel of an icon compared to the background in which it is placed. A grid score considers a subdivision of an icon compared to the background in which it is placed. Using each of these three independent process, a summative score is provided. The summative score categories the icon into a risk level. Depending on the risk level, the icon may need to be refined to ensure it becomes more accessible.

Description

RELATED APPLICATIONS
This patent application is a continuation of U.S. patent application Ser. No. 16/705,840, filed Dec. 6, 2019 which is a continuation and claims priority to U.S. patent application Ser. No. 15/858,133, filed Dec. 29, 2017. Each of application Ser. No. 16/705,840 and application Ser. No. 15/858,133, is incorporated herein by reference in its entirety.
BACKGROUND
Governments and other regulatory entities instill broad and strict requirements and guidelines on products to ensure quality. Healthcare software is not exempt from these requirements and guidelines. The concepts that must be validated vary and may include human factors and abilities. For example, one concept is color contrast. Color contrast itself helps ensure items found on a user interface are visible, distinguishable, and understood by all users, including those utilizing assistive visual technologies (e.g. magnification) or those that are colorblind.
Current tools that assist in validating color contrast rely on contrast ratio calculation. However, the contrast ratio calculation used by these tools is only one part of accessibility for iconography. Additionally, current tools provide pre-determined color ratio thresholds which do not take into consideration changing requirements (based on country, application type, etc.). Furthermore, in the case of icons, complexity (e.g. gradients of color) can make checking all the various colors on the border of the icon challenging and time consuming. For example, for a typical healthcare software application having approximately five thousand five hundred icons, it would take approximately ten minutes to check accessibility for each icon, or more than five months for a single employee assigned to the task.
SUMMARY
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Embodiments of the present invention relate to providing tools to validate color contrast. More particularly, three discrete color check processes are performed to ensure a user is able to identify when an icon is at risk of being inaccessible by some users. A border score considers each pixel at the edge of an icon compared to the background in which it is placed. An area score considers each discrete pixel of an icon compared to the background in which it is placed. A grid score considers a subdivision of an icon compared to the background in which it is placed. Using each of these three independent process, a summative score is provided. The summative score categorizes the icon into a risk level. Depending on the risk level, the icon may need to be refined to ensure it becomes more accessible.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments are described in detail below with reference to the attached drawing figures, wherein:
FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention;
FIG. 2 is an exemplary system architecture suitable for use in implementing embodiments of the present invention;
FIGS. 3-5 are illustrative screen displays in accordance with embodiments of the present invention; and
FIG. 6-10 are flow diagrams of methods in accordance with embodiments of the present invention.
DETAILED DESCRIPTION
The subject matter of the present invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” might be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly stated.
As noted in the Background, governments and other regulatory entities instill broad and strict requirements and guidelines on products to ensure quality. Healthcare software is not exempt from these requirements and guidelines. The concepts that must be validated vary and may include human factors and abilities. For example, one concept is color contrast. Color contrast itself helps ensure items found on a user interface are visible, distinguishable, and understood by all users, including those utilizing assistive visual technologies (e.g. magnification) or those that are colorblind.
Current tools that assist in validating color contrast rely on contrast ratio calculation. However, the contrast ratio calculation used by these tools is only one part of accessibility for iconography. Additionally, current tools provide pre-determined color ratio thresholds which does not take into consideration changing requirements (based on country, application type, etc.). Furthermore, in the case of icons, complexity (e.g. gradients of color) can make checking all the various colors on the border of the icon challenging and time consuming. For example, for a typical healthcare software application having approximately five thousand five hundred icons, it would take approximately ten minutes to check accessibility for each icon, or more than five months for a single employee assigned to the task.
Embodiments of the present disclosure relate to providing tools to validate color contrast. More particularly, three discrete color check processes are performed to ensure a user is able to identify when an icon is at risk of being inaccessible by some users. A border score considers each pixel at the edge of an icon compared to the background in which it is placed. An area score considers each discrete pixel of an icon compared to the background in which it is placed. A grid score considers a subdivision (e.g., sixteen 4×4 discrete chunks) of an icon compared to the background in which it is placed. Using each of these three independent process, a summative score is provided. The summative score categories the icon into a risk level. Depending on the risk level, the icon may need to be refined to ensure it becomes more accessible.
In embodiments, the tools enable a user to adjust thresholds of risk for changing requirements or regulations, which may vary from country to country or based on the type of application (e.g., medical software). This flexibility ensures guidelines are met for any country or type of application.
In embodiments, the tools may be utilized to assist in design decisions for the general user interface. For example, icon accessibility is influenced by the context in which it is applied. An icon that is one hundred percent red in color could be accessible on a white table row. However, if the table row is selected, it may turn another color (e.g., blue). The same red icon may become inaccessible (e.g. color blind users may lose visibility of where the icon is located). In this instance, the tools allow for an icon to be scored against one or as many colors as configured. This enables a user to upload icons and understand background colors that can influence the accessibility of the icon more or less than other background colors.
In embodiments, the tools enable a user to upload as many icons as the user selects. Additionally, the user may configure as many background colors as the user desires. Each of these features provides significant time advantages and allows for a broader understanding of the risks for the icon (e.g. assessing hundreds of background colors for a single icon).
In some embodiments, in addition to providing a risk level for the icon, the user can hover over a respective risk level and the icon itself highlights which part(s) of the icon was assessed and is at risk. In other words, the tools do not just provide the risk level but actually informs the user where on the icon is at the particular risk level.
Accordingly, one embodiment of the present disclosure is directed to a system for providing an icon accessibility tool. The system includes a processor; and a computer storage medium storing computer-usable instructions that, when used by the processor, cause the processor to: convert an image containing an icon into arrays of red green blue alpha (RGBA) values; determine an area score for each icon for each background color; determine a border score for each icon; divide the image into arrays of RBGA values corresponding to grid squares; and determine a grid score for each grid square of the image.
In another embodiment, the present disclosure directed to a computerized method for providing an icon accessibility tool. The method includes: converting an icon, for each icon in an image, into arrays of red blue green alpha (RGBA) values; determining an area score for each icon for each background color; determining a border score for each icon; dividing the image into arrays of RBGA values corresponding to grid squares; determining a grid score for each grid square of the image; and providing a composite score to a user, the composite score considering the area score, the border score, and the grid score for each icon of the image to evaluate a risk of each icon of the image not being accessible to the corresponding background.
In yet another embodiment, the present disclosure is directed to one or more computer storage media having computer-executable instructions embodied thereon that, when executed by a computer, causes the computer to perform operations to provide an icon accessibility tool. The operations include: converting an icon, for each icon in an image, into arrays of red green blue alpha (RGBA) values; dividing the image into arrays of RBGA values corresponding to grid squares; determining an array of coordinates for opaque pixels of an icon; excluding all pixels below an opaque alpha threshold; identifying a relative luminance between opaque pixels and a background color; providing an area score, the area score being a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio; determining an array of coordinates of border pixels by finding pixels that are not transparent, an outer pixel, or have a transparent neighboring pixel; identifying a relative luminance between opaque border pixels and a background color; providing a border score, the border score being the percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio, wherein pixels that are not transparent are pixels that have an alpha value that is above an transparent alpha threshold; filtering out grid squares that are entirely composed of transparent pixels; for any remaining grid squares, identifying a percentage of opaque pixels greater than an area threshold; providing a grid score, the grid score being the percentage of grid squares that have the percentage of opaque pixels greater than the area threshold; and Providing a composite score to a user, the composite score considering the area score, the border score, and the grid score for each icon of the image to evaluate a risk of each icon of the image not being accessible when placed upon the corresponding background color.
Having briefly described embodiments of the present invention, an exemplary operating environment suitable for use in implementing embodiments of the present invention is described below. FIG. 1 provides an aspect of an example operating environment with which embodiments of the present invention may be implemented. The aspect of an operating environment is illustrated and designated generally as reference numeral 100.
Example operating environment 100 comprises a general purpose computing device in the form of a control server 102. Exemplary components of the control server 102 comprise a processing unit, internal system memory, and a suitable system bus for coupling various system components, including database cluster 104, with the control server 102. The system bus might be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus, using any of a variety of bus architectures. Exemplary architectures comprise Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronic Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, also known as Mezzanine bus.
Control server 102 typically includes therein, or has access to, a variety of computer-readable media, for instance, database cluster 104. Computer-readable media can be any available media that might be accessed by control server 102, and includes volatile and nonvolatile media, as well as, removable and nonremovable media. Computer-readable media might include computer storage media. Computer storage media includes volatile and nonvolatile media, as well as removable and nonremovable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. In this regard, computer storage media might comprise RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage device, or any other medium which can be used to store the desired information and which may be accessed by the control server 102. Computer storage media does not comprise signals per se. Combinations of any of the above also may be included within the scope of computer-readable media.
The computer storage media discussed above and illustrated in FIG. 1 , including database cluster 104, provide storage of computer-readable instructions, data structures, program modules, and other data for the control server 102. In some embodiments, data cluster 104 takes the form of a cloud-based data store, and in some embodiments is accessible by a cloud-based computing platform.
The control server 102 might operate in a computer network 106 using logical connections to one or more remote computers 108. Remote computers 108 might be located at a variety of locations in a medical or research environment, including clinical laboratories (e.g., molecular diagnostic laboratories), hospitals and other inpatient settings, veterinary environments, ambulatory settings, medical billing and financial offices, hospital administration settings, home healthcare environments, and providers' offices. Providers may comprise a treating physician or physicians; specialists such as surgeons, radiologists, cardiologists, and oncologists; emergency medical technicians; physicians' assistants; nurse practitioners; nurses; nurses' aides; pharmacists; dieticians; microbiologists; laboratory experts; laboratory technologists; genetic counselors; researchers; veterinarians; students; and the like.
The remote computers 108 might also be physically located in nontraditional medical care environments so that the entire healthcare community might be capable of integration on the network. The remote computers 108 might be personal computers, servers, routers, network PCs, peer devices, other common network nodes, or the like and might comprise some or all of the elements described above in relation to the control server 102. The devices can be personal digital assistants or other like devices.
In some embodiments, remote computers 108 comprise computing-devices that are part of a cloud-computing platform. For example, the control server 102 might operate in a computer network 106 hosted as part of a cloud service (e.g., AMAZON WEB SERVICES, GOOGLE HOSTING, IBM BLUEMIX). In some embodiments, a remote computer 108 is associated with a health records data source such as an electronic health record (EHR) system of a hospital or medical organization, a health information exchange EHR, insurance provider EHR, ambulatory clinic EHR, or patient-sensor, or other data source, and facilitates accessing data of the source and communicating the data to control server 102 and/or other computing devices on a cloud computing platform, including other remote computers 108.
Exemplary computer networks 106 comprise local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. When utilized in a WAN networking environment, the control server 102 might comprise a modem or other means for establishing communications over the WAN, such as the Internet. In a networked environment, program modules or portions thereof might be stored in association with the control server 102, the database cluster 104, or any of the remote computers 108. For example, various application programs may reside on the memory associated with any one or more of the remote computers 108. It will be appreciated by those of ordinary skill in the art that the network connections shown are exemplary and other means of establishing a communications link between the computers (e.g., control server 102 and remote computers 108) might be utilized.
In operation, an organization might enter commands and information into the control server 102 or convey the commands and information to the control server 102 via one or more of the remote computers 108 through input devices, such as a keyboard, a pointing device (commonly referred to as a mouse), a trackball, or a touch pad. Other input devices comprise microphones, satellite dishes, scanners, or the like. Commands and information might also be sent directly from a remote healthcare device to the control server 102. In addition to a monitor, the control server 102 and/or remote computers 108 might comprise other peripheral output devices, such as speakers and a printer.
In some embodiments, control server 102 is a computing system or platform made up of one or more computing devices. Embodiments of control server 102 may be a distributed computing system, a centralized computing system, a single computer such as a desktop or laptop computer or a networked computing system. Thus, in some embodiments, control server 102 comprises a multi-agent computer system with software agents.
Turning now to FIG. 2 , an exemplary framework of an accessibility system 200 is shown, in accordance with an aspect of the present invention. It should be understood that this and other arrangements described herein are set forth only as examples. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used in addition to or instead of those shown, and some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory. The accessibility system 200 may be implemented via any type of computing device, such as computing device 100 described above with reference to FIG. 1 , for example.
The accessibility system 200 generally operates to provide an automated icon accessibility algorithm and tool. In other words, the accessibility system 200 can receive as input, an icon or an image of icons from applications 210A-210C, and automatically determine which icon or icons need to be refined to meet accessibility guidelines. In this way, an application having icons can have the icons quickly and automatically analyzed to confirm they meet accessibility guidelines. Additionally, because thresholds utilized to apply the various algorithms can be adjusted as need to meet varying accessibility guidelines, the icons can be quickly and automatically analyzed to confirm they meet varying guidelines (to comply with differing guidelines from different agencies or organizations or to ensure guidelines that may change from time to time are met by icon usage in current or legacy applications).
As shown in FIG. 2 , the accessibility system 200 includes, among other components not shown, applications 210A-210C, network 212, and icon tool 214. It should be understood that the accessibility system 200 shown in FIG. 2 is an example of one suitable computing system architecture. Each of the components shown in FIG. 2 may be implemented via any type of computing device, such as computing device 100 described with reference to FIG. 1 , for example.
The components may communicate with each other via a network 212, which may include, without limitation, one or more local area networks (LANs) and/or wide area networks (WANs). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that any number of applications or icon tools may be employed within the accessibility system 200 within the scope of the present disclosure. Each may comprise a single device or multiple devices cooperating in a distributed environment. For instance, components of the icon tool 214 may be provided via multiple devices arranged in a distributed environment that collectively provide the functionality described herein. In other embodiments, a single device may provide the functionality of multiple components of the icon tool 214 or accessibility system 200. For example, a single device may provide the application and the icon tool. Additionally, other components not shown may also be included within the network environment.
Generally, the applications 210A-210C include images comprising icons or icons. A composite score for the applications 210A-210C (which is generally provided on a per image or per icon basis) can be determined by utilizing the icon tool 214. The icon tool 214 may determine which icon needs refinement in order to comply with a particular accessibility guideline. For clarity, an image refers to the container for the icon (a two-dimensional bitmap sometimes referred to as the pixel grid). Typically, the icon fills the image in order for the image to be used with icon tool 214. In this regard, the icon is independent from any other content, and the bounding box for the icon is the size of the image.
Icon tool 214 is generally configured to determine an accessibility of an icon or image, such as one corresponding to applications 210A-210C. As mentioned briefly, icon tool 214 may comprise a border component 216, an area component 218, a grid component 220, and a summative component 222. Each of the border component 216, the area component 218, the grid component 220, and the summative component 222 may utilize various algorithm, as described in more detail below, that are dependent on configurable thresholds. The configurable thresholds enable the algorithms to dynamically adjust based on changes in accessibility guidelines.
Initially, icon tool 214 may convert an icon, for each icon in an image into arrays of RGBA values which is utilized by border component 216 and area component 218. Icon tool may additionally divide an image into arrays of RGBA values corresponding to grid squares. Although illustrated as a server in FIG. 2 , icon tool 214 may also be utilized as a web application via the server or a native application on the client-machine (applications 210A-210C).
Border component 216 generally determines a border score for each image or icon. To do so, border component 216 initially determines an array of coordinates of border pixels by finding pixels that both: 1) not transparent; and 2) either a pixel at the edge of the image boundary or have a transparent neighboring pixel. A relative luminance is identified, by border component 216, between opaque border pixels and a background color. Border component 216 provides the border score which is a percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio (as described herein, can be configured in accordance with a particular accessibility guideline). For clarity, pixels that are not transparent are pixels that have an alpha value that is above a transparent alpha threshold, which as described herein, can be configured in accordance with a particular accessibility guideline.
Area component 218 generally determines an area score for each image or icon. To do so, area component 218 initially determines an array of coordinates for opaque pixels of an icon. All pixels below an opaque alpha threshold are excluded by area component 218. As described herein, the opaque alpha threshold can be configured in accordance with a particular accessibility guideline. Area component 218 identifies a relative luminance between opaque pixels and a background color. An area score that is a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio is provided by area component 218.
Grid component 220 generally determines a grid score for each image or icon. To do so, grid component 220 initially filters out grid squares that are entirely composed of transparent pixels. For any remaining grid squares, grid component 220 identifies a percentage of opaque pixels greater than an area threshold. The area threshold can be configured in accordance with a particular accessibility guideline, as described herein. A grid score that is the percentage of grid squares that have the percentage of opaque pixels greater than the area threshold is provided by the grid component 220.
Summative component 222 generally provides a composite score to a user. The composite score considers the area score, the border score, and the grid score for each icon of the image to evaluate a risk of each icon of the image not being accessible to the corresponding background. Summative component 222 may provide composite scores for the icon with multiple varying backgrounds to enable the user to select the most accessible icon in accordance with the background having the lowest risk composite score.
In FIGS. 3-5 , illustrative screen displays are provided, in accordance with embodiments of the present invention. FIG. 3 illustrates an exemplary accessibility tool 300 for configuring thresholds to adjust for accessibility guidelines. As illustrated, border threshold 310, area threshold 320, minimum contrast ratio 330, opaque alpha 340, and transparent alpha 350 can each be adjusted to comply with a particular accessibility guideline. Referring now to FIG. 4 , once the appropriate thresholds have been adjusted, an image or icon 410 can be selected via the accessibility tool 400. Upon selection, and referring to FIG. 5 , a composite score (corresponding to a ranking) along with border score, area score, and grid score is provided for the icon with various background colors. As illustrated, a list of high risk icons 510, a list of medium risk icons 520, and a list of low risk icons 530 is provided.
Turning now to FIG. 6 , a flow diagram is provided illustrating a method 600 for for pre-assessment for area score and border score algorithms, in accordance with embodiments of the present invention. Method 600 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
Initially, at step 610, an icon is converted into arrays of RBGA values.
At step 620, an area score and a border score are determined for the icon.
In FIG. 7 , a flow diagram is provided illustrating a method 700 for pre-assessment for grid score algorithm, in accordance with embodiments of the present invention. Method 700 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
Initially, at step 710, an image is divided into arrays of RGBA values corresponding to grid squares.
At step 720, the grid score of the image is determined.
Turning now to FIG. 8 , a flow diagram is provided illustrating a method 800 for for utilizing the area score algorithm to determine the area score of an icon, in accordance with embodiments of the present invention. Method 800 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
Initially, at step 810, an array of coordinates is determined for opaque pixels of an icon.
At step 820, all pixels below an opaque alpha threshold are excluded.
At step 830, a relative luminance is identified between opaque pixels and a background color.
At step 840, an area score is provided. The area score is a percentage of identified opaque pixels with the relative luminance above a minimum contrast ratio.
In FIG. 9 , a flow diagram is provided illustrating a method 900 for utilizing the border score algorithm to determine the border score of an icon, in accordance with embodiments of the present invention, in accordance with embodiments of the present invention. Method 900 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
Initially, at step 910, an array of coordinates of border pixels is determined by finding pixels that: 1) are not transparent, at step 920; and 2) an outer pixel or have a transparent neighboring pixel, at step 930. An outer pixel refers to any pixel within the first or last column or row of the image.
At step 940, a relative luminance is identified between opaque border pixels and a background color.
At step 950, a border score is provided. The border score is the percentage of identified opaque border pixels with the relative luminance above a minimum contrast ratio, wherein pixels that are not transparent are pixels that have an alpha value that is above an transparent alpha threshold.
Turning now to FIG. 10 , a flow diagram is provided illustrating a method 400 for for utilizing the grid score algorithm to determine the grid score of an icon, in accordance with embodiments of the present invention. Method 1000 may be performed by any computing device (such as computing device described with respect to FIG. 1 ) with access to an accessibility system (such as the one described with respect to FIG. 2 ) or by one or more components of the accessibility system.
Initially, at step 1010, grid squares that are entirely composed of transparent pixels are filtered out.
At step 1020, any remaining grid squares are evaluated using the grid score algorithm.
At step 1030, if percentage of opaque pixels is greater than the area threshold for a given grid square, it passes the grid score algorithm.
At step 1040, the percentage of non-transparent grid squares that pass is returned as the grid score.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the present invention. Embodiments of the present invention have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. A skilled artisan may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present invention.
It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described. Accordingly, the scope of the invention is intended to be limited only by the following claims.

Claims (19)

The invention claimed is:
1. A system for providing an icon accessibility tool, the system comprising:
a processor; and
a computer storage medium storing computer-usable instructions that, when used by the processor, cause the processor to:
receive an image containing an icon;
determine an area score for the icon, the area score being a percentage of identified opaque pixels with relative luminance above a minimum contrast ratio;
determine a border score for the icon, the border score being a percentage of identified opaque border pixels with relative luminance above the minimum contrast ratio;
determine a grid score, the grid score being a percentage of grid squares that have a percentage of opaque pixels greater than an area threshold;
provide a plurality of composite scores to a user for multiple varying backgrounds, the plurality of composite scores derived from the area score, the border score, and the grid score for the icon with respect to a corresponding background of the multiple varying backgrounds; and
enable the user to select the icon in accordance with the background having a lowest risk composite score.
2. The system of claim 1, further comprising converting the image containing the icon into arrays of red green blue alpha (RGBA) values.
3. The system of claim 2, further comprising, dividing the image into arrays of RBGA values corresponding to grid squares.
4. The system of claim 1, wherein the relative luminance of the identified opaque pixels is determined with respect to a background color of the one or more backgrounds.
5. The system of claim 4, wherein the composite score indicates a risk of the icon not being accessible when placed upon a corresponding background color.
6. The system of claim 1, further comprising upon receiving a user interaction with a background color of the backgrounds, provide an indication highlighting which part of the icon is at risk of being inaccessible.
7. The system of claim 1, wherein the area threshold and the minimum contrast ratio are defined by a user.
8. A computerized method for providing an icon accessibility tool, the method comprising:
receiving an image containing an icon;
determining an area score for the icon, the area score being a percentage of identified opaque pixels with relative luminance above a minimum contrast ratio;
determining a border score for the icon, the border score being a percentage of identified opaque border pixels with relative luminance above the minimum contrast ratio;
determining a grid score, the grid score being a percentage of grid squares that have a percentage of opaque pixels greater than an area threshold;
providing a plurality of composite scores to a user for multiple varying backgrounds, the plurality of composite scores derived from the area score, the border score, and the grid score for the icon with respect to a corresponding background of the multiple varying backgrounds; and
enabling the user to select the icon in accordance with the background having a lowest risk composite score.
9. The method of claim 8, further comprising converting the image containing the icon into arrays of red green blue alpha (RGBA) values.
10. The method of claim 9, further comprising, dividing the image into arrays of RBGA values corresponding to grid squares.
11. The method of claim 8, wherein the relative luminance of the identified opaque pixels is determined with respect to a background color of the one or more backgrounds.
12. The method of claim 11, wherein the composite score indicates a risk of the icon not being accessible when placed upon a corresponding background color.
13. The method of claim 8, further comprising upon receiving a user interaction with a background color of the backgrounds, provide an indication highlighting which part of the icon is at risk of being inaccessible.
14. The method of claim 8, wherein the area threshold and the minimum contrast ratio are defined by a user.
15. One or more computer storage media having computer-executable instructions embodied thereon that, when executed by a computer, causes the computer to perform operations to provide an icon accessibility tool, the operations comprising:
receiving an image containing an icon;
determining an area score for the icon, the area score being a percentage of identified opaque pixels with relative luminance above a minimum contrast ratio;
determining a border score for the icon, the border score being a percentage of identified opaque border pixels with relative luminance above the minimum contrast ratio;
determining a grid score, the grid score being a percentage of grid squares that have a percentage of opaque pixels greater than an area threshold;
providing a plurality of composite scores to a user for multiple varying backgrounds, the plurality of composite scores derived from the area score, the border score, and the grid score for the icon with respect to a corresponding background of the multiple varying backgrounds; and
enabling the user to select the icon in accordance with the background having a lowest risk composite score.
16. The media of claim 15, further comprising:
converting the image containing the icon into arrays of red green blue alpha (RGBA) values; and
dividing the image into arrays of RBGA values corresponding to grid squares.
17. The media of claim 15, wherein the relative luminance of the identified opaque pixels is determined with respect to a background color of the one or more backgrounds.
18. The media of claim 17, wherein the composite score indicates a risk of the icon not being accessible when placed upon a corresponding background color.
19. The media of claim 15, wherein the area threshold and the minimum contrast ratio are defined by a user.
US17/551,462 2017-12-29 2021-12-15 Automated icon accessibility assessment algorithm and tool Active US11636632B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/551,462 US11636632B2 (en) 2017-12-29 2021-12-15 Automated icon accessibility assessment algorithm and tool

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/858,133 US10565739B2 (en) 2017-12-29 2017-12-29 Automated icon accessibility assessment algorithm and tool
US16/705,840 US11216982B2 (en) 2017-12-29 2019-12-06 Automated icon accessibility assessment algorithm and tool
US17/551,462 US11636632B2 (en) 2017-12-29 2021-12-15 Automated icon accessibility assessment algorithm and tool

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/705,840 Continuation US11216982B2 (en) 2017-12-29 2019-12-06 Automated icon accessibility assessment algorithm and tool

Publications (2)

Publication Number Publication Date
US20220108477A1 US20220108477A1 (en) 2022-04-07
US11636632B2 true US11636632B2 (en) 2023-04-25

Family

ID=67058389

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/858,133 Active 2038-06-09 US10565739B2 (en) 2017-12-29 2017-12-29 Automated icon accessibility assessment algorithm and tool
US16/705,840 Active 2038-03-19 US11216982B2 (en) 2017-12-29 2019-12-06 Automated icon accessibility assessment algorithm and tool
US17/551,462 Active US11636632B2 (en) 2017-12-29 2021-12-15 Automated icon accessibility assessment algorithm and tool

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US15/858,133 Active 2038-06-09 US10565739B2 (en) 2017-12-29 2017-12-29 Automated icon accessibility assessment algorithm and tool
US16/705,840 Active 2038-03-19 US11216982B2 (en) 2017-12-29 2019-12-06 Automated icon accessibility assessment algorithm and tool

Country Status (1)

Country Link
US (3) US10565739B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885676B2 (en) * 2016-12-27 2021-01-05 Samsung Electronics Co., Ltd. Method and apparatus for modifying display settings in virtual/augmented reality
US10565739B2 (en) * 2017-12-29 2020-02-18 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool
US11416125B2 (en) * 2019-09-13 2022-08-16 Oracle International Corporation Runtime-generated dashboard for ordered set of heterogenous experiences

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118427A (en) 1996-04-18 2000-09-12 Silicon Graphics, Inc. Graphical user interface with optimal transparency thresholds for maximizing user performance and system efficiency
US6954215B2 (en) 2002-06-28 2005-10-11 Microsoft Corporation System and method for employing non-alpha channel image data in an alpha-channel-aware environment
US7312798B2 (en) 2005-01-21 2007-12-25 Research In Motion Limited Device and method for controlling the display of electronic information
US7352917B2 (en) 2001-06-27 2008-04-01 Sony Corporation Image processing apparatus and method, and image pickup apparatus
US8543927B1 (en) 2007-11-01 2013-09-24 Google Inc. Methods for simulating icon popout on memory constrained devices
US20160247249A1 (en) 2015-02-25 2016-08-25 Arm Limited Graphics processing systems
US20170131868A1 (en) 2015-11-06 2017-05-11 Le Holdings (Beijing) Co., Ltd. Method and electronic device for replacing application icon
US9678648B2 (en) 2013-05-31 2017-06-13 Lg Electronics Inc. Mobile terminal and controlling method thereof
US20180040144A1 (en) 2015-09-07 2018-02-08 Tencent Technology (Shenzhen) Company Limited Information processing method and apparatus, terminal, and storage medium
US10114799B2 (en) 2009-12-23 2018-10-30 Canon Kabushiki Kaisha Method for arranging images in electronic documents on small devices
US20190132523A1 (en) 2016-06-29 2019-05-02 Hanwha Techwin Co., Ltd. Monitoring apparatus and system
US20190206087A1 (en) 2017-12-29 2019-07-04 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6118427A (en) 1996-04-18 2000-09-12 Silicon Graphics, Inc. Graphical user interface with optimal transparency thresholds for maximizing user performance and system efficiency
US7352917B2 (en) 2001-06-27 2008-04-01 Sony Corporation Image processing apparatus and method, and image pickup apparatus
US6954215B2 (en) 2002-06-28 2005-10-11 Microsoft Corporation System and method for employing non-alpha channel image data in an alpha-channel-aware environment
US7312798B2 (en) 2005-01-21 2007-12-25 Research In Motion Limited Device and method for controlling the display of electronic information
US8543927B1 (en) 2007-11-01 2013-09-24 Google Inc. Methods for simulating icon popout on memory constrained devices
US10114799B2 (en) 2009-12-23 2018-10-30 Canon Kabushiki Kaisha Method for arranging images in electronic documents on small devices
US9678648B2 (en) 2013-05-31 2017-06-13 Lg Electronics Inc. Mobile terminal and controlling method thereof
US20160247249A1 (en) 2015-02-25 2016-08-25 Arm Limited Graphics processing systems
US20180040144A1 (en) 2015-09-07 2018-02-08 Tencent Technology (Shenzhen) Company Limited Information processing method and apparatus, terminal, and storage medium
US10467776B2 (en) 2015-09-07 2019-11-05 Tencent Technology (Shenzhen) Company Limited Information processing method and apparatus, terminal, and storage medium
US20170131868A1 (en) 2015-11-06 2017-05-11 Le Holdings (Beijing) Co., Ltd. Method and electronic device for replacing application icon
US20190132523A1 (en) 2016-06-29 2019-05-02 Hanwha Techwin Co., Ltd. Monitoring apparatus and system
US20190206087A1 (en) 2017-12-29 2019-07-04 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool
US10565739B2 (en) 2017-12-29 2020-02-18 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool
US20200151910A1 (en) 2017-12-29 2020-05-14 Cerner Innovation, Inc. Automated icon accessibility assessment algorithm and tool

Also Published As

Publication number Publication date
US20190206087A1 (en) 2019-07-04
US11216982B2 (en) 2022-01-04
US10565739B2 (en) 2020-02-18
US20220108477A1 (en) 2022-04-07
US20200151910A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
US11636632B2 (en) Automated icon accessibility assessment algorithm and tool
US10915222B2 (en) Multi-disciplinary team workspace
US20150269508A1 (en) Method And Apparatus For Configuring A Task List
Reiner The challenges, opportunities, and imperative of structured reporting in medical imaging
US20150006543A1 (en) Determining mappings for application integration based on user contributions
US20140074506A1 (en) Health Information Management System
Johnston Digital maturity: are we ready to use technology in the NHS?
US20210177546A1 (en) Integrated Digital Workflow For Providing Dental Restoration
US20200035354A1 (en) System and method for creating and displaying optional order sets in healthcare environment
US20210319882A1 (en) Machine learning community-based health assessment
Bastos et al. Practices and challenges on coordinating the Brazilian Unified Health System
Dewey et al. The Bionic Radiologist: avoiding blurry pictures and providing greater insights
Greenhalgh et al. Remote care in UK general practice: baseline data on 11 case studies
Gunasekeran et al. Acceptance and perception of artificial intelligence usability in eye care (APPRAISE) for ophthalmologists: a multinational perspective
Fortman et al. Varying rates of patient identity verification when using computerized provider order entry
US20230147471A1 (en) Systems and methods to process electronic images to determine salient information in digital pathology
Cheng et al. Electronic task management system: a pediatric institution's experience
Conway et al. Implementing workforce development in health care: A conceptual framework to guide and evaluate health service reform
Sano et al. Analysis of medication incident for improvement of medication process
Denniston et al. Building trust in real-world data: lessons from INSIGHT, the UK's health data research hub for eye health and oculomics
Taribagil et al. Integrating artificial intelligence into an ophthalmologist’s workflow: obstacles and opportunities
Hunter et al. Best practice recommendations
Gkontra et al. Challenges of Machine Learning and AI (What Is Next?), Responsible and Ethical AI
US20160188804A1 (en) Ambulatory manager
Lega et al. An international perspective on medical leadership

Legal Events

Date Code Title Description
AS Assignment

Owner name: CERNER INNOVATION, INC., KANSAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NOLL, AARON;WILSON, ERIC;RAJENDRAN, MAYUR;AND OTHERS;REEL/FRAME:058395/0830

Effective date: 20171228

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCF Information on status: patent grant

Free format text: PATENTED CASE