Accessibility/Learning Disabilities: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(dead links)
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Purpose =
= Introduction =
Learning disabilities refer to a group of afflictions, including dyslexia, attention deficit disorder and many others, that make learning difficult.  Often people with these afflictions have average to above average intelligence, but have trouble sorting and storing information because of language disorders, sensory integration problems or expressive and receptive language disorders.  This page is dedicated to computing technologies that can assist these people in their quest to learn.


To develop an expert system recommending actions an AT might take in response to a queue of live region changes over time.
= Desired Technologies =
Scratch Pad of Ideas


= Proposed API =
* alternatives to speeded responses
* word lookup, or compatibility with word lookup tools
** word2image
** definition, synonym, translation
* text reading, or compatibility with text reading tools
** Mathematical formulas
** grammar/parts of speech highlighter
** concept mapping - graphical representation of ideas
** font/color changing
* spelling correction for spelling-sensitive interactions
** phonetic spelling
* provision for suppressing unneeded functions
** Hotkey elimination
** image removal
* Text skimming
* Point and click accessibility


Here are some rough ideas for a live region library, which would manage the queue. For the moment, I'd like to assume the library is written in
= Existing Technologies =
Python for the sake of syntax.
[http://en.wikipedia.org/wiki/Gnome-dictionary gnome-dictionary]


== Processing a change ==
= Related Links =
 
[http://www.ldonline.org/ LD Online]<nowiki>:</nowiki><br>
<pre>
[http://www.ldresources.com/ LD Resources]<nowiki>:</nowiki><br>
def processEvent(node, event_type):
[http://www.ncld.org/ National Center for LD]<nowiki>:</nowiki><br>
  '''
[http://www.gatfl.org/ldguide/default.htm Tools for Life] ([http://www.gatfl.gatech.edu/tflwiki/index.php?title=LD_Guide dead link])<nowiki>:</nowiki><br>
  Processes a live region event by adding a recommendation to the queue for later use by the AT.
[http://www.washington.edu/doit/Brochures/Technology/atpwld.html University of Washington]<nowiki>:</nowiki><br>
 
Slide #23 of the presentation by Dr. Clayton Lewis of the
  @param node: A hashable object representing the live region
University of Colorado and PI for the RERC on Advancing Cognitive
  @type node: hashable
Technologies, at [http://www.access-board.gov/sec508/refresh/teitac3rd/clayton.ppt RERC] (dead link)<nowiki>:</nowiki><br>
  @param event_type: Constant representing the kind of change: node addition, node removal
  or text insert/delete
  @type event_type: integer
  '''
</pre>
 
== Getting a recommendation ==
 
<pre>
def getNextRecommendation():
  '''
  Retrieves the next recommendation from the queue.
 
  @return: Recommendation of how to announce a live region change
  @rtype: Recommendation
  '''
</pre>
 
<pre>
def clearQueue():
  '''
  Clears the queue of recommendations.
  '''
</pre>
 
== Accessibility callbacks ==
 
Allows the AT to register methods the library should call to get information about accessibles. These callbacks allow the library to be cross-platform.
 
<pre>
def registerGetParent(func):
  '''
  Registers a callback for getting the parent of a given node.
 
  @param func: Function that returns a parent node of the given node.
  @type func: callable
  '''
</pre>
 
* registerGetControlsRelation(func)
* registerGetLabelledByRelation(func)
* registerGetDescribedByRelation(func)
* registerGetLiveRegionAttrsProperties()
* '''What else?'''
 
== Rude change callbacks ==
 
Original spec by Aaron. '''But don't the rude changes get pushed to the library via the processEvent method anyways? Couldn't the return value on that method indicate whether getNextRecommendation should be called immediately or not?'''
 
* registerPushListener() // Register a listener so that if rude changes occur, the library can call back in and push a region
* setLastPushSucccess(boolean)    // Was the last live region push successfully presented?
 
== Settings ==
 
<pre>
def setGlobalSettings(settings):
  '''
  Updates settings for all live regions, either on the current page or across pages.
 
  @param settings: Name/value setting pairs. Either all settings or a subset to update.
  @type settings: dictionary
  '''
</pre>
 
<pre>
def setNodeSettings(node, settings):
  '''
  Updates settings for a particular live region. Any settings not defined here fall
  back to using the global equivalents. Setting any particular setting name to value
  None removes that setting from this node, and forces it to use the global value for
  the setting.
 
  @param node: A hashable object representing the live region
  @type node: hashable
  @param settings: Name/value setting pairs. Either all settings or a subset to update.
  @type settings: dictionary
  '''
</pre>
 
<pre>
def clearNodeSettings(node):
  '''
  Forces the particular live region to use the global settings.
 
  @param node: A hashable object representing the live region
  @type node: hashable
  @param settings: Name/value setting pairs. Either all settings or a subset to update.
  @type settings: dictionary
  '''
</pre>
 
'''Probably need getters too.'''
 
= Recommendation objects =
 
<pre>
class Recommendation(object):
  '''
  @ivar event_type: Type of event that triggered the recommendation
  @type event_type: integer
  @ivar node: Object the recommendation concerns
  @type node: hashable
  @ivar suggested_text: Suggested text to announce
  @type suggested_text: string
  @ivar all_text: All text in the live region
  @type all_text: string
  '''
</pre>
 
'''What else?'''

Latest revision as of 10:49, 22 April 2015

Introduction

Learning disabilities refer to a group of afflictions, including dyslexia, attention deficit disorder and many others, that make learning difficult. Often people with these afflictions have average to above average intelligence, but have trouble sorting and storing information because of language disorders, sensory integration problems or expressive and receptive language disorders. This page is dedicated to computing technologies that can assist these people in their quest to learn.

Desired Technologies

Scratch Pad of Ideas

  • alternatives to speeded responses
  • word lookup, or compatibility with word lookup tools
    • word2image
    • definition, synonym, translation
  • text reading, or compatibility with text reading tools
    • Mathematical formulas
    • grammar/parts of speech highlighter
    • concept mapping - graphical representation of ideas
    • font/color changing
  • spelling correction for spelling-sensitive interactions
    • phonetic spelling
  • provision for suppressing unneeded functions
    • Hotkey elimination
    • image removal
  • Text skimming
  • Point and click accessibility

Existing Technologies

gnome-dictionary

Related Links

LD Online:
LD Resources:
National Center for LD:
Tools for Life (dead link):
University of Washington:
Slide #23 of the presentation by Dr. Clayton Lewis of the University of Colorado and PI for the RERC on Advancing Cognitive Technologies, at RERC (dead link):