`(12) Patent Application Publication (10) Pub. No.: US 2013/0104029 A1
`Hendry et al.
`(43) Pub. Date:
`Apr. 25, 2013
`
`US 2013 0104029A1
`
`(54) AUTOMATED ADDITION OF ACCESSIBLITY
`FEATURESTO DOCUMENTS
`
`(75) Inventors: Robert Olson Hendry, San Francisco,
`AsS); Heidi Jungel, Fremont, CA
`
`(73) Assignee: Apollo Group, Inc., Phoenix, AZ (US)
`
`(21) Appl. No.: 13/280,296
`
`(22) Filed:
`
`Oct. 24, 2011
`
`
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`(52)
`{ 7/24
`USPC .......................................................... 71.5/234
`ABSTRACT
`(57)
`A method includes analyzing a first document to identify a
`first set of one or more tags and responsive to identifying the
`first set of one or more tags: automatically producing a second
`document based in part on first set of one or more tags, where
`the second document includes one or more accessibility fea
`tures that were not in the first document.
`
`Analyze a first document
`402
`
`PrOduCe a SeCOnd doCument which
`includes One or more accessibility features
`not included in the first doCument
`404
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 1 of 18
`
`
`
`Patent Application Publication
`
`Apr. 25, 2013 Sheet 1 of 5
`
`US 2013/0104029 A1
`
`
`
`V
`
`9
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 2 of 18
`
`
`
`Patent Application Publication
`
`Apr. 25, 2013 Sheet 2 of 5
`
`US 2013/0104029 A1
`
`
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 3 of 18
`
`
`
`Patent Application Publication
`
`Apr. 25, 2013 Sheet 3 of 5
`
`US 2013/0104029 A1
`
`
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 4 of 18
`
`
`
`Patent Application Publication
`
`Apr. 25, 2013 Sheet 4 of 5
`
`US 2013/0104029 A1
`
`
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 5 of 18
`
`
`
`Patent Application Publication
`
`Apr. 25, 2013 Sheet 5 of 5
`
`US 2013/0104029 A1
`
`979
`
`TWOOT
`
`?IG
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 6 of 18
`
`
`
`US 2013/01 04029 A1
`
`Apr. 25, 2013
`
`AUTOMATED ADDITION OF ACCESSIBILITY
`FEATURESTO DOCUMENTS
`
`FIELD OF THE INVENTION
`0001. The present invention relates to document accessi
`bility in general. More specifically, the invention relates to
`automatically modifying a document to improve document
`accessibility.
`
`BACKGROUND
`0002 The approaches described in this section are
`approaches that could be pursued, but not necessarily
`approaches that have been previously conceived or pursued.
`Therefore, unless otherwise indicated, it should not be
`assumed that any of the approaches described in this section
`qualify as prior art merely by virtue of their inclusion in this
`section.
`0003) People with disabilities use electronic documents
`(for example, pdfs, web pages, word processing documents,
`or spreadsheet documents) with the help of assistive tech
`nologies that identify the content of the electronic documents.
`Assistive technologies, as referred to herein, include any soft
`ware and/or hardware that interprets information for present
`ing to a user. Examples of assistive technologies include, but
`are not limited to Screen readers, text to speech Software,
`digital book players, Braille displays, Braille embossers, and
`electronic note takers. Assistive technologies convey infor
`mation using visual, audio, or touch stimuli. For example,
`assistive technology Such as a screen reader may be config
`ured to read out the contents of a web page that are normally
`displayed to a user when the web page is rendered by a web
`browsing application.
`0004. However, assistive technologies may not properly
`be able to identify the content within a document if the docu
`ment is not designed for interpretation by assistive technolo
`gies. For example, a HyperTextMarkup Language (HTML)
`document includes elements such as a table that is formatted
`with tags <tre, {tdd, or <thd. Some screen readers are unable
`to distinguish these HTML tags that format the table from
`table values that are displayed when the HTML document is
`rendered by a web browsing application. As a result, Screen
`readers read the tags out loud, as if the tags were part of the
`normal displayed textual content of the document, for a user
`with a visual disability. Screen readers are unable to deter
`mine a proper sequence in which the table values should be
`read to sensibly convey the content to a user, or unnecessarily
`read out layout information such as “table with two columns
`and one row to a user.
`0005 One or more embodiments are illustrated by way of
`example, and not by way of limitation, in the figures of the
`accompanying drawings and in which like reference numer
`als refer to similar elements and in which:
`0006 FIG. 1 is a block diagram illustrating an example
`system for automatically producing documents to improve
`document accessibility in accordance with one or more
`embodiments;
`0007 FIGS. 2A, 2B, 3A, and 3C illustrate examples of
`document portions and interpretation by at least one assistive
`technology in accordance with one or more embodiments;
`0008 FIG. 4 is a flow diagram illustrating an example
`method for automatically producing documents to improve
`document accessibility in accordance with one or more
`embodiments;
`
`0009 FIG. 5 is a block diagram illustrating a computer
`system that may be used in implementing one or more
`embodiments.
`
`DETAILED DESCRIPTION
`
`0010. In the following description, for the purposes of
`explanation, numerous specific details are set forth in order to
`provide a thorough understanding. It will be apparent, how
`ever, that one or more embodiments may be practiced without
`these specific details. In other instances, well-known struc
`tures and devices are shown in block diagram form in order to
`avoid unnecessarily obscuring one or more embodiments.
`0011. Several features are described hereafter that can
`each be used independently of one another or with any com
`bination of the other features. However, any individual fea
`ture might not address any of the problems discussed above or
`might only address one of the problems discussed above.
`Some of the problems discussed above might not be fully
`addressed by any of the features described herein. Although
`headings are provided, information related to a particular
`heading, but not found in the section having that heading, may
`also be found elsewhere in the specification.
`
`Overview
`
`0012 Methods for automatically modifying documents to
`improve document accessibility are provided, in accordance
`with one or more embodiments. Modifying a document to
`improve document accessibility refers to modifications
`which result in proper or better interpretation by an assistive
`technology, or which result in improving a user's ability to
`understand the content of a document.
`0013 Documents that are not designed for accessibility by
`assistive technologies are good candidates for automatic
`modification. For example, documents that do not conform to
`the guidelines from the Web Accessibility Initiative-Acces
`sible Rich Internet Applications (WAI-ARIA) may not be
`designed for accessibility. Documents that include some
`accessible features and lack other accessible features are
`good candidates for automatic modification to improve docu
`ment accessibility.
`0014. In one embodiment, methods for automatically pro
`ducing a document include find and replace methods which
`replace text within a document with alternate text that
`improves document accessibility. Methods for automatically
`producing a document include capturing data that is dis
`played to a user from a first document and writing a new
`document which displays Substantially the same data but
`improves the document accessibility. Methods for automati
`cally producing a document perform the production at the
`server side, the client side, or a combination of both.
`0015. Although specific components are recited herein as
`performing the method steps, in other embodiments, agents
`or mechanisms acting on behalf of the specified components
`perform the method steps. Further, although one or more
`embodiments are discussed with respect to components dis
`tributed over multiple systems (for example, a browser on a
`client machine and a document modifier on server), other
`embodiments include systems where all components are on a
`single system (for example, modify documents stored on a
`personal computer for display on the personal computer).
`Furthermore, embodiments are applicable for dynamically
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 7 of 18
`
`
`
`US 2013/01 04029 A1
`
`Apr. 25, 2013
`
`modifying any set of documents (for example, obtained over
`a network, a local machine, a server, a peer machine, within a
`Software application, etc.).
`0016 While specific embodiments are described in which
`documents are automatically modified, the techniques
`described herein are not limited to the disclosed embodi
`ments, and the techniques described herein may be applicable
`to other embodiments.
`
`Accessibility Features
`0017. As shall be explained in detail hereafter, techniques
`are provided in which “accessibility features” are automati
`cally added to documents to improve the accessibility of the
`documents. As used herein, an accessibility feature is any
`feature that improves a user's ability to understand the con
`tent of a document. For example, accessibility features
`improve a user's ability to understand the content of a docu
`ment by:
`0018 adding to the document information that can be
`accessed by the assistive technology for presentation to
`a user,
`0019 removing from the document extra information
`that should not be accessed by an assistive technology
`for presentation to a user, and/or
`0020 modifying information in the document to
`increase the likelihood that the document will be inter
`preted and presented correctly (for example, in a correct
`sequence, with correct associations, with correct empha
`sis, etc.) by an assistive technology.
`0021
`Referring to FIG.1, accessibility features (118) may
`be particular tags which, when added to a document, allow for
`proper interpretation of the document by assistive technolo
`gies. For example, accessibility features (118) correspond to
`formatting, styles, or other markup that can be applied to one
`or more elements within a document. Accessibility features
`(118) correct one or more problems associated with inacces
`sible features described below. While FIG. 1 illustrates a
`system (100) in which accessibility features (118) are stored
`separately, in a data repository (112), from modified docu
`ments (116), in alternative embodiments the accessibility
`features (118) are not separately stored in the data repository
`(112).
`0022. In an embodiment, accessibility features (118) cor
`respond to metadata, describing content in a modified docu
`ment (116), that can be read by software and communicated
`to a person with disabilities (for example, via a Braille termi
`nal oran audio readout). In an example, the metadata includes
`the content that is displayed when a web page is rendered
`without including any formatting tags that are not displayed
`when the web page is rendered.
`0023. In an embodiment, accessibility features (118) cor
`responds to a formatting of content within a document (114)
`or a modified document (116) which is designed for a par
`ticular assistive technology or recognizable by an assistive
`technology. In an example, an accessibility feature (118)
`corresponds to a formatting of a table using HTML format
`ting tags such as <div> or <span> which can be used to dictate
`the manner in which a particular screen reader reads out table
`values. The screen reader skips read out of <div> and <span>
`tags because the tags are recognized as formatting tags. Fur
`thermore, a screen reader may interpret the content for read
`out based on <div> and <span> tags that conveys an accurate
`understanding of the table to a user instead of reading out
`table cells in a possibly improper sequence.
`
`0024. Other examples of accessibility features (118)
`include, but are not limited to, text alternatives for non-text
`content, using a minimum font size, using colors which dis
`tinguish the foreground from the background, and making all
`functionality of a document available from a keyboard.
`0025. In an embodiment, accessibility features (118) cor
`responds to code (for example, JavaScript) which when
`executed adds other accessibility features (118) to the docu
`ment (114) to produce the modified document (116). For
`example, accessibility features (118) correspond to code
`which extracts content from a document with formatting tags
`that are not properly interpreted by assistive technologies.
`The accessibility features (118) correspond to code which
`uses the extracted content to produce a modified document
`(116) with different formatting tags than the original format
`ting tags. The modified document (116) produced by the
`assistive technologies may use different formatting tags that
`are recognizable to assistive technologies and that present the
`content in the same manner as the original formatting tags.
`0026. In an embodiment, the accessibility feature (118) is
`code that reformats the content of a document to be displayed
`differently. For example, the code changes the color or size of
`afont to make text easier to read by a visually impaired reader.
`The code used to convert the document (114) to modified
`document (116) is within the document (114) itself or sepa
`rate from the document (114).
`
`Inaccessible Features
`0027. An “inaccessible feature', as used herein, refers to
`content or formatting which cannot be properly interpreted by
`one or more assistive technologies for presentation to a user.
`For example, an assistive technology Such as a screen reader
`is designed for reading out the content from a HTML docu
`ment that is displayed when the HTML document is rendered
`by a browser application and designed for not reading out
`HTML formatting tags that are used for formatting of the
`displayed content. However, a particular HTML document
`includes some HTML formatting tags that are not recognized,
`by the screen reader, as formatting tags that are not to be read
`out. As a result of not recognizing the formatting tags, the
`formatting tags are read out by the screen reader as a portion
`of the displayed content. In this example, the HTML format
`ting tags are referred to as inaccessible features since the
`screen reader does not recognize the HTML formatting tags
`and reads out the HTML formatting tags as displayed content.
`0028. In an embodiment, an inaccessible feature corre
`sponds to one or more elements that lack a label or a descrip
`tion that can be accessed by an assistive technology. For
`example, a displayed line on a web page includes text, fol
`lowed by a text field for user input, followed by additional
`text. A screen reader reads out the text, the additional text, and
`lastly the text field based on the sequence in which the ele
`ments appear in the document or using some other ordering
`method. The information conveyed to the user in this example
`results in an improper understanding of the displayed line by
`the user. The information may not convey the relationship
`between different objects on a displayed line, for example,
`relationship between labels and other objects. In an example,
`an inaccessible feature corresponds to a link in a web page
`without a title for readout by a screen reader.
`0029. In an embodiment, an element without an “id’’ or
`class is referred to as an inaccessible feature because the lack
`of the idor class prevents code (for example JQuery or Java
`Script) to refer to the element or prevents the use of cascading
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 8 of 18
`
`
`
`US 2013/01 04029 A1
`
`Apr. 25, 2013
`
`style sheets for formatting purposes (for example, to increase
`the font size for all text or to provide additional context or
`metadata).
`0030. In an embodiment, an inaccessible feature corre
`sponds to a design component that is interpreted and pre
`sented by an assistive technology when that design compo
`nent should not be presented by the assistive technology. In
`another embodiment, an inaccessible feature refers to a com
`ponent that is interpreted and not presented by an assistive
`technology when that design component should be presented
`by the assistive technology. Design components that should
`or should not be presented to a user are determined based on
`user preferences, definition by a programmer or administra
`tor, based on the context of the page, or based on other criteria.
`In an example, an image separating two sections on a web
`page or a table used only for data layout purposes in a HTML
`document should not be presented to a visually impaired user
`based on user preferences. The design component is referred
`to as an inaccessible feature because an assistive technology
`Such as a screen reader is not able to determine based on the
`information within the document that the design component
`is not to be presented to a user.
`0031. In another example, an inaccessible feature corre
`sponds to one or more components of a table in a HTML
`document. The components do not provide enough informa
`tion for a screen reader to read out the table values of a table
`in a sequence that would properly convey the description of
`the table to a user. Table values read out of sequence result in
`a misunderstanding by the user with regard to which table
`values are in which rows or columns, or with regard to which
`table values are associated with which other table values.
`0032. In another example, an inaccessible feature corre
`sponds to one or more elements within a document (114) that
`cannot be navigated to by a user of the document (114). For
`example, a particular checkbox within a HTML document
`(114) can only be checked by a mouse click. In this example,
`the particular checkbox is inaccessible to a user limited to the
`keyboard input. The user may be disabled and/or unable to
`use the keyboard or the user may be operating a device Such
`as a cell phone with limited functionality. Accordingly, an
`inaccessible feature is inaccessible due to user disability or
`due to environmental restrictions such as device software or
`device hardware limitations. In another example, an inacces
`sible feature corresponds to navigation between interface ele
`ments that do not allow the use of a keyboard or other input
`tool selected by a user.
`System Architecture and Functionality
`0033 Although a specific computer architecture is
`described hereafter, other embodiments are applicable to any
`architecture that can be used to automatically add one or more
`accessibility features to documents.
`0034 FIG. 1 shows an example system (100) in accor
`dance with one or more embodiments. As shown in FIG.1, the
`example system (100) includes a client machine (102) and a
`server machine (110). Data or components described with
`reference to a particular machine may be stored on or imple
`mented by another machine. Additional devices and/or com
`ponents not described herein may be used to perform any of
`the functionality described herein. A single device or compo
`nent may be used to performall of the functionality described
`herein.
`0035. In an embodiment, the client machine (102) corre
`sponds to any system used for presenting a document (114) or
`
`a modified document (116) to a user in an audio, visual, or
`touch (for example, Braille) format. Examples of client
`machines (102) include, but are not limited to desktop com
`puters, laptops, tablets, mobile phones, personal digital assis
`tants (PDAs), book readers, and/or other digital computing
`devices. As shown in example system (100), the client
`machine (102) includes one or more of: a browser (104), an
`assistive technology (106), or any another application used
`for presenting information within a document to a user. The
`client machine (102) may also include one or more of the
`data repository (112) and the document modifier (120) that
`are illustrated, for purposes of explanation, as implemented
`on the server machine (110).
`0036. In an embodiment, the browser (104) corresponds to
`any application that can render contents from a document for
`display to a user. A browser (104) is illustrated and used as an
`example of software that presents content to a user. Any other
`hardware or Software application that presents content from a
`document to a user in an audio, visual, or touch format may be
`used instead of or in addition to the browser (104). For
`example, a pdf reader is used for displaying content from a
`pdf document or a spreadsheet application is used to present
`data from a spreadsheet document. Examples described
`herein with relation to a specific application for presenting
`content are equally applicable to other applications that
`present content.
`0037. In an example, the browser (104) corresponds to a
`web browser which includes functionality to request a web
`page, obtain the web page, and render the web page for
`display to a user. In another example, the browser (104)
`modifies a web page received from a server to obtain a modi
`fied web page, and renders the modified web page for display
`to a user.
`0038. In an embodiment, an assistive technology (106)
`illustrated as implemented on the client machine (102),
`includes assistive, adaptive, and rehabilitative software and/
`or hardware for people with disabilities. Assistive technolo
`gies enable people to perform tasks that the people were
`formerly unable to accomplish, or had great difficulty accom
`plishing, by providing enhancements to or changed methods
`of interacting with the technology needed to accomplish Such
`tasks. Examples of assistive technology (106) include text
`to-speech tools that read out the text being displayed on a
`screen. In another example, an assistive technology (106)
`converts text or audio in a particular language to text or audio
`in a different language. An assistive technology magnifies the
`contents of a document, highlight text, modify fontsizes and
`colors, or performs other functions which make a document
`easier to access. In another example, an assistive technology
`provides output to a Braille device.
`0039. In one or more embodiments, the assistive technol
`ogy (106) is implemented as a standalone application or as a
`component of another application (for example, as a browser
`plug-in or a toolbar component). In an example, the assistive
`technology (106) is implemented as a component of an oper
`ating system. The system (100) may include an assistive
`technology (106) without the use of a browser (104). Product
`examples of assistive technologies include, but are not limited
`to, Job Access for Windows and Speech (JAWS) by Freedom
`Scientific, Dragon Naturally Speaking by Nuance Commu
`nications, NonVisual Desktop Access (NVDA), ChromeVox
`by Google Corporation, VoiceCver by Apple Corporation,
`Supernova by Dolphin Computer Access, Edbrowse by Karl
`Dahlke. Spoken Web by Ehal Shalom, Fire Vox by Charles L.
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 9 of 18
`
`
`
`US 2013/01 04029 A1
`
`Apr. 25, 2013
`
`Chen, 95Reader by SSCT, COBRA by BAUM Retec, Linux
`Screen Reader by GNOME/Linux, Virtual Vision by
`MicroPower, and ZoomText by Ai Squared.
`0040. In an embodiment, the server machine (110) corre
`sponds to any device that is communicatively coupled with
`the client machine (102) and sends data to the client machine
`(102). The server machine (110) sends the data in response to
`receiving one or more requests from the client machine (102).
`0041. In an embodiment, the server machine (110)
`includes a data repository (112) storing one or more of docu
`ments (114), modified documents (116) and accessibility fea
`tures (118). The data repository (112) corresponds to any data
`storage device (for example, local memory on the server
`machine (110), web servers connected over the internet,
`machines within a local area network, a memory on a mobile
`device, local memory on the client machine (102), etc.). In
`one or more embodiments, access to the data repository (112)
`is restricted and/or secured. As such, access to the data reposi
`tory (112) requires authentication using passwords, secret
`questions, personal identification numbers (PINs), biomet
`rics, and/or any other Suitable authentication mechanism.
`Those skilled in the art will appreciate that elements or vari
`ous portions of data stored in the data repository (112) may be
`distributed (for example, stored on client machine (102) or at
`other servers). In one or more embodiments, the data reposi
`tory (112) includes flat, hierarchical, network based, rela
`tional, dimensional, object modeled, or data files structured
`otherwise. In an example, data repository (112) is maintained
`as a table of a SQL database. In addition, data in the data
`repository (112) is verified against data stored in other reposi
`tories.
`0042. In an embodiment, documents (114) correspond to
`any files stored in memory (for example, on the server
`machine (110) or client machine (102)). Documents (114)
`include, but are not limited to, pdfs, web pages, word pro
`cessing documents, spread sheet documents, slides, images,
`Video files, etc. Documents (114) are requested by an appli
`cation executing on a client system (102). For example, a
`document (114) corresponding to a web page is requested by
`browser (104) executing on the client system (102).
`0043. In an embodiment, documents (114) include docu
`ments that have at least one inaccessible feature. In an
`embodiment, documents (114) are modified by one or more
`components of system (100) to include an accessibility fea
`ture (118). Documents (114) that are modified by one or more
`components of system (100) to include an accessibility fea
`ture (118) are referred to herein as modified documents (116).
`Documents (114) with one or more accessibility features
`(118) are modified to include additional accessibility features
`(118). Modified documents (118) also include new docu
`ments that are created using documents (114).
`
`Document Modifier
`0044. In an embodiment, the document modifier (120)
`corresponds to hardware and/or software that produces modi
`fied documents (116) by adding one or more accessibility
`features (118) to documents (114). In one or more embodi
`ments, the document modifier (120) adds additional accessi
`bility features to a document (114) that already has one or
`more accessibility features (118).
`0045. In an example, the document modifier (120) modi
`fies the document (114) by directly converting the document
`(114) to an accessibility-enabled document or adding code to
`the document (114) which when executed converts the docu
`
`ment to an accessibility-enabled document. An accessibility
`enabled document is a document that has been modified to
`include information that improves a user's understanding of
`the document. In an example, the document modifier (120)
`modifies a web page by adding JOuery and/or JavaScript
`which when executed converts the web page into an accessi
`bility-enabled web page.
`0046. The code executed by the document modifier (120)
`to add one or more accessibility features (118) is included
`within the document (114) or stored separately from the
`document (114).
`0047. In an embodiment, modifying a document includes
`making one or more changes to a document (114) to obtain a
`modified document (116). The modified document (116) is
`stored in addition to the original document (114) or instead of
`the original document (114). Modifying a document includes
`producing a new document based on the original document
`(114). For example, modifying a document includes analyZ
`ing the contents of the original document (114) and creating
`a new document based on the analysis of the contents of the
`original document (114). Modifying a first document (114) to
`obtain a second document may be referred to herein as pro
`ducing the second document.
`0048. Each of these components described above may be
`located on the same device or may be located on separate
`devices coupled by a network (e.g., Internet, Intranet, Extra
`net, Local Area Network (LAN), Wide Area Network (WAN),
`etc.), with wire and/or wireless segments. In one or more
`embodiments, the example system (100) is implemented
`using a client-server topology. The example system (100)
`itself is an enterprise application running on one or more
`servers, a peer-to-peer system, or resident upon a single com
`puting system. In one or more embodiments, the example
`system (100) is accessible over a network connection (not
`shown). Such as the Internet, by one or more users. Informa
`tion and/or services provided by the example system (100)
`may also be stored and accessed over the network connection.
`Document Modification Examples
`0049 FIG. 2A, FIG. 2B, FIG. 3A, and FIG. 3B illustrate
`an example in which the <div> and <span> tags are used in an
`accessibility-enabled document instead of a <table> tag in an
`inaccessible document. An example of original HTML code
`(202) is presented in FIG. 2A. As shown in FIG. 2A, the tag
`<table> is used with tags <tro and <td in a layout table to
`display the content in a particular format.
`0050. When a HTML webpage with the original HTML
`code (202) is rendered by a browser, the data is shown in a
`table format. In an example, a particular screen reader appli
`cation used by a blind user to surf the HTML webpage reads
`out text recited in screen reader readout A (204) as presented
`in FIG. 2B. In this example, the layout table is used for
`formatting purposes and is not useful for a blind user of a
`screen reader. However, the particular screen reader, when
`reading out the displayed contents rendered by a browser,
`reads out table layout information such as “table with two
`columns and four rows' and “table end. This table informa
`tion should not have been read out by the particular screen
`reader to a blind user because the table is intended for layout
`purposes and clutters the other information presented to the
`blind user.
`0051. The original HTML code (202) is modified inaccor
`dance with one or more embodiments to produce accessibil
`ity-enhanced HTML code (302) as illustrated in FIG.3A. The
`
`ACCESSIBE LTD EXHIBIT 1008
`Page 10 of 18
`
`
`
`US 2013/01 04029 A1
`
`Apr. 25, 2013
`
`accessibility-enhanced HTML code (302) which is based on
`the original HTML code (202) presents the same information
`as the original HTML code (202) when rendered by a
`browser. A screen reader playing an audio readout of a ren
`dered webpage, which includes the accessibility-enhanced
`HTML code (302), reads out text recited in screen reader
`readout B (304). The text recited in screen reader readout B
`(304) does not include the table information included in
`screen reader readout A (204) and accordingly, does not clut
`ter the information provided to a blind user. The accessibility
`enhanced HTML code improves a user's ability to understand
`the content of the webpage.
`
`Document Modification by a Server Machine
`0052. In an embodiment, the document modifier (120) is
`implemented on the server machine (110). In an example, the
`document modifier (120) is an application or a component of
`an application that modifies one or more documents (114)
`stored on the server machine (110) to produce modified docu
`ments (116). The modified documents (116) are stored on the
`server, by the document modifier, as accessibility-enabled
`documents instead of or in addition to the original documents
`(114).
`0053. In an embodiment, the document modifier (120) is
`executed on the server machine (110) in response to receiving
`a request for a document from the client machine (102). In an
`example, the server machine (110) receives a request for a
`particular document (114). In response to the request, a docu
`ment modifier (120) on the server machine (110) determines
`that the particular requested document (114) is not accessi
`bility enabled during an analysis of the particular requested
`document (114). The document (114) is analyzed to identify
`tags that are not recognizable by assistive technologies (106).
`The server machine (110) executes the document modifier
`(120) to produce a modified document (116) which is an
`accessibility-enabled version of the particular requested
`document (114). In response to receiving a request from the
`client machine (102) for the particular document (114), the
`server machine (110) sends the modified document (116).
`0054. In an embodiment, the request received by server
`(110) from any client machine (102) indicates whether or not
`an accessibility-enabled document is requested. The server
`machine (110) returns