Abstract:
IncluSite is a novel approach to providing web content accessibility as a service. IncluSite automatically inserts code into web pages requested by Internet users to adapt it to web accessibility standards and to add advanced user interfaces right into the web content being served to Internet users. IncluSite allows users with physical or psychical disabilities to navigate web sites in the most suitable way according to their needs, and without the need of specific hardware or software. IncluSite&#39;s technical approach also allows web site owners to automatically adapt web contents without changing the original web pages: including a link to IncluSite is sufficient.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    Previous provisional patent filed Jan. 24, 2013, under application No. 61/755,996. 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0002]    Not Applicable. 
       REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISC APPENDIX 
       [0003]    Not Applicable. 
       BACKGROUND OF THE INVENTION 
       [0004]    IncluSite is a Software as a Service 1  (SaaS) solution to provide web accessibility to Internet users who suffer from physical or psychical disabilities. This includes people who cannot see, people who cannot use their hands, or people with moderate mental retardation. IncluSite also targets Internet users with low digital competences 2 , like the elderly.  1  Software as a Service, http://en.wikipedia.org/wiki/Software_as_a_service 2  Digital Competences, http://ec.europa.eu/digital-agenda/en/pillar-vi-enhancing-digital-literacy-skills-and-inclusion/action-62-eu-wide-indicators-digital 
         [0005]    Hence, IncluSite provides a solution to the needs described in U.S. patent classification “A: Human Necessities”. 
         [0006]    The current state of technology in the field of web accessibility involves the need to install specific software and hardware in the user&#39;s computer. The problems with this approach are:
       The user needs to acquire the specific software and hardware, adding extra cost and difficulty to the process of using a computer, which is fundamental to work in many sectors, especially for disabled people.   The user can&#39;t use a computer other than his own adapted computer, limiting the mobility of the user.   The software products currently available at the market are too generic, failing to deliver a good user experience, even limiting the functionality of the applications and web pages.       
 
         [0010]    The World Wide Web Consortium 3  (W3C) is developing standards on web accessibility, like WAI-ARIA 4 , in order to embed web accessibility in web pages, so that web browsers can provide user interfaces according to the user&#39;s skills. The problem is that, in order to make this standard effective, it would take the whole internet to be rewritten in terms of the standards, let alone web browser development companies adjust their browsers to meet the standards. Even then, the user interface provided by modern web browsers do not meet the needs of people that suffer from a range of disabilities that make it impossible to interact with a web page.  3  W 3 C, http://www.w3.org 4  WAI-ARIA, http://www.w3.org/WAI/intro/aria.php 
       BRIEF SUMMARY OF THE INVENTION 
       [0011]    The main idea of IncluSite is to stand in the middle of the web&#39;s server-client 5  scheme to automatically insert additional code into web pages upon a user requesting a web page. The code inserted has two main purposes: it adapts the page to conform to web accessibility standards and it adds advanced user interfaces right into the served web content.  5  Server-client architecture, http://en.wikipedia.org/wiki/Client%E2%80%93server_architecture 
         [0012]    The first main advantage of this approach is that web site owners do not need to make changes to web pages to make web content accessible. It only takes a link pointing to IncluSite in the original web page to redirect traffic through IncluSite&#39;s services to make the whole web site accessible. 
         [0013]    The second key advantage is that users get accessible content without additional software or hardware, thus solving the main problems identified in the Background of the Invention section. 
         [0014]    Regarding the standards mentioned in previous sections, the adapted web content adheres to web-related specifications like HTML5 6 , WAI-ARIA and WCAG 7 . This allows IncluSite to leverage all progress made by these standards, as well as related features incorporated into web browsers.  6  HTML5, http://www.w3.org/html/wg/ 7  WCAG, http://www.w3.org/WAI/intro/wcag.php 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
         [0015]      FIG. 1 : Overall view of an Internet user accessing a web site directly and then through IncluSite. 
           [0016]      FIG. 2 : Step-by-step description of the internal page adaptation process of IncluSite. 
           [0017]      FIG. 3 : IncluSite&#39;s advanced user interface overlayed in a web page. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0018]    This section gives a detailed description of the invention. It first gives an overall view of how IncluSite stands between the Internet user and the targeted Web Site. It then describes in detail how the invention adapts web pages to conform to accessibility standards and how it embeds an advanced user interface to aid the user to navigate the web contents. Then it goes on to describe in more detail how this advanced user interface works. 
         [0019]      FIG. 1  shows the interactions between an Internet user, the Web site it intends to visit, and IncluSite. 
         [0020]    The following paragraphs give a detailed, step-by-step explanation of the sequence of labeled events shown in  FIG. 1 : 
         [0021]    Step 1: To begin with, a user enters a web page URL 8  in a web browser to visit a web site (label “1—visit web page”). The server hosting the original web site returns the requested web page (label “2—return original web contents”).  8  URL, http://www.ietf.org/rfc/rfc1738.txt 
         [0022]    Step 2: Now let this web site be subscribed to the services of IncluSite. Therefore, there is a link to the accessible version of the web page. This link points to IncluSite&#39;s web server depicted in  FIG. 1  (labeled “3—visit accessible version”). Visiting this link will initiate the operation of the invention. 
         [0023]    Step 3: IncluSite will make a request to the original web site on behalf of the Internet user (label “4—request original web contents”). 
         [0024]    Step 4: The contents returned by the original web site (label “5—return original web contents”) is then adapted by IncluSite (label “6—adapt web contents”) to make these web contents conform to web accessibility standards and add the advanced user interface to meet the Internet user&#39;s needs and preferences. 
         [0025]    Step 5: Return the adapted web content to the user (label “7—return adapted web contents”). 
         [0026]    Having depicted how IncluSite stands between the user and the targeted web site, the following paragraphs describe in more detail how the invention works to adapt web contents to the needs and preferences of Internet users, without enforcing the web site owner to make changes to its web pages. 
         [0027]    The explanation of how IncluSite works begins with describing the elements comprising the invention and then describing how they interact to achieve the expected result. 
         [0028]    The invention consists of the group of software components drawn as boxes in  FIG. 2 . The following is a brief description of each of these components: 
         [0029]    1. Web Server 9 : A software that accepts web page requests from the user and returns such contents. An example of such software is Apache HTTP Server 10 . This is IncluSite&#39;s main point of access.  9  Web Server, http://en.wikipedia.org/wiki/Web_server 10  Apache HTTP Server, http://httpd.apache.org/ 
         [0030]    2. Reverse Proxyl 11 : A software that retrieves resources on behalf of the user. An example of such software is Squid 12 .  11  Reverse Proxy, http://en.wikipedia.org/wiki/Reverse_proxy 12  Squid Proxy, http://www.squid-cache.org/ 
         [0031]    3. ICAP Server: A software that performs modifications on HTTP requests and responses. This component performs web content adaptation applying programmatic rules specific for HTTP requests and HTTP responses. 
         [0032]    4. Services: A custom component that provides services like Advanced User Interface, 
         [0033]    Automatic Speech Recognition 13  (ASR) and Text to Speech 14  (US). A reference to these services is embedded in the adapted web page. These services are called from the user&#39;s web browser using web methods like AJAX 15 .  13  Automatic Speech Recognition, http://en.wikipedia.org/wiki/Automatic_speech_recognition 14  Text to Speech, http://en.wikipedia.org/wiki/Text_to_speech 15  AJAX, http://en.wikipedia.org/wiki/Ajax_%28programming%29 
         [0034]    Now that the main components of the invention have been introduced, the best way to explain how IncluSite works is by describing the process that is triggered upon a user requesting a web page, following it through until the accessible content is served to the user. The picture in  FIG. 1  shows the complete process. 
         [0035]    The following paragraphs give a detailed, step-by-step explanation of the sequence of labeled events shown in  FIG. 2 : 
         [0036]    Step 1. A user requests the accessible version of a web page thanks to a link included in the original web page (label “1—request”). The link points to a web server which is inside the domain of the invention. 
         [0037]    Step 2. Upon user request, the web server passes on this request to a reverse proxy. The reverse proxy issues a request modification of the user&#39;s HTTP 16  request to an ICAP 17  server (label “2—request”).  16  Hypertext Transfer Protocol, http://en.wikipedia.org/wiki/HTTP 17  Internet Content Adaptation Protocol, http://tools.ietf.org/html/rfc3507 
         [0038]    Step 3. The ICAP server grabs the original request to rewrite HTTP headers (like the Host 18  header) and links inside the HTML to point them to the original web page address. The modified request is returned to the reverseproxy (label “3—modified req.”).  18  HTTP Host header, http://tools.ietf.org/html/rfc2616#section-14.23 
         [0039]    Step 4. The reverse proxy requests the contents to the original web page on behalf of the user (label “4—get content”) and gets the contents (“5—page contents”). 
         [0040]    Step 5. The reverse proxy sends the original contents to the ICAP server (label “6—response”). The ICAP server performs two fundamental actions upon these contents: (1) it rewrites HTTP headers and HTML links to point to IncluSite, and (2) it adds the code of IncluSite&#39;s advanced user interface. Then it returns this adapted web content to the reverse proxy (label “7—modified resp.”). 
         [0041]    Step 7. The reverse proxy sends to the user the original web content plus the code to make it accessible (label “8—accessible content”). This code contains IncluSite&#39;s advanced user interface. This piece of code is programmed in browser-friendly languages, like JavaScript, and is embedded directly into the web response. This code will later make calls to server-side services like Text-to-Speech 19  (TTS) and Automatic Speech Recognition 20  (ASR), as described in the next step.  19  Text to Speech, http://en.wikipedia.org/wiki/Text_to_speech 20  Automatic Speech Recognition, http://en.wikipedia.org/wiki/Automatic_speech_recognition 
         [0042]    Step 8. Once the web contents are loaded in the user&#39;s web browser, IncluSite&#39;s advanced user interface starts to execute to help the user interact with the adapted web content according to the user&#39;s communication abilities. To achieve this, IncluSite&#39;s advanced user interface makes calls to services like ASR and TTS (label “9—call service”). This service call goes through the web server to the services layer (label “10—call service”), returning an appropriate response (label “11—service resp.”). When the response is received at the user&#39;s web browser (label “12—service resp.”), IncluSite&#39;s advanced user interface will make use of it to communicate with the user in a way most suitable to the user&#39;s circumstances or preferences. 
         [0043]    Having described how the invention works to adapt web content to make it accessible, the following paragraphs describe how IncluSite&#39;s advanced user interface helps users to navigate the web page according to the user&#39;s communication abilities or preferences. 
         [0044]    IncluSite&#39;s advanced user interface consists of common navigation elements that interact with the user in different ways. Each way depends on the user&#39;s communication skills or preference. For instance, IncluSite&#39;s advanced user interface will read aloud the web page contents and will allow accept voice commands from blind users. 
         [0045]    IncluSite&#39;s advanced user interface leverages standard peripherals found in computers, like the mouse, the keyboard, the microphone and the speakers, to let the user interact with the web page in the most suitable way according to the user&#39;s needs and preferences. 
         [0046]      FIG. 3  shows a schematic example of the IncluSite&#39;s advanced user interface overlayed in a web page. It shows some basic controls to navigate the web page: Back and Forward, Home, Up and Down, and some numbered boxes to access directly to specific sections of the web page. 
         [0047]    These controls are always present, and stand out from the content to make it clear that they don&#39;t belong to the content. These are just for navigation purposes. 
         [0048]    The user interacts with these controls in different ways, depending on its communication skills or preferences. IncluSite&#39;s advanced user interface has a one-time setup step to configure the user&#39;s preferred mode of interaction. These preferences are stored across all web sites. 
         [0049]    The following is a list of scenarios of user interaction: 
         [0050]    1. The user uses the keyboard&#39;s arrow keys to go up or down the page, or hit a number to go directly to a section number. 
         [0051]    2. The user speaks voice commands like “up” or “home” to activate the navigation controls by means of the aforementioned ASR service. 
         [0052]    3. In the case the user can&#39;t speak, the user can make a sound to select the navigation options. Options activate sequentially until a sound is detected, and then the option is selected. 
         [0053]    4. In the case of severe paralysis, the user can make gestures to the webcam with his head, mouth, eyes, or any other visible portion of his/her face to use the navigation controls. One example of this is the eye-tracking technique, by means of which the user&#39;s eyes positions are detected by the camera to highlight the different options, and select an option when long eye-blinking is detected. 
         [0054]    5. A user can simply use the mouse to click on these navigation controls. 
         [0055]    In response to the user&#39;s input, IncluSite&#39;s advanced user interface gives feedback to in the most appropriate way to the user&#39;s communication skills. For instance, for blind people, it reads aloud the available navigation options and the selected web content, by means of the aforementioned TTS service. It can also magnify the selected section to make it visible for people with dimmed sight.