Learning Management System

ATutor AccessForAll Support


Adaptability has always been a high priority in the development of ATutor. Implementing AccessForAll in ATutor 1.6.2 extends further the system's adaptability to the needs of individual learners. With the addition of quite a number of new user preference settings, learners can now customize the environment to work best for them. They can control the appearance of ATutor; which navigation tools are configured; and how content is adapted to their own abilities and learning styles. AccessForAll adds greatly to a learner centered approach to learning.

Implementing AccessForAll (AFA) in ATutor has been (and still is) a challenge. While we worked, IMS AccessForAll 1.0 was in transition, and the new ISO FDIS 24751 Accessibility standard was on the verge of existence. Before the end of our project, the ISO standard was released. According to sources at IMS, AccessForAll 2.0 will be based largely on ISO FDIS 24751. So we transitioned from AccessForAll 1.0 to ISO FDIS 24751, with the intent of conforming with AccessForAll 2.0 when it's ready. We have used the language and the metadata structure from the ISO standard in our implementation, though the systems for creating and sharing content in ATutor, through each standard, function much the same way.

In this first implementation of AFA, ATutor implements the applicable parts of the standard relevant to an online learning environment. We have also implemented only four of the six content types defined in the standard. Support for tactile and olfactory content may come later. We've stuck with the traditional Visual, Auditory, Textual forms of content, with the addition of Sign Language based adaptations.

One particularly challenging aspect of implementing AFA has been discovering how to provide adaptations for text. It is relatively easy from a programming perspective to scan through or parse an ATutor content page to find files and their file types, and replace files with other files of different types as adaptations. It is not so clear how text might be parsed into discreet meaningful units of information, and how a system might provide adaptations for those units. Fortunately text is already relatively adaptable to conversion to braille, or Text-to-Speech (TTS) output for instance. For purposes of providing alternatives to text for people with print disabilities, a visual adaptation of meaning in text is often desirable, but for the time being is not implemented in ATutor. However, being able to read the text through a TTS reader provides the necessary adaptation for many people with print disabilities, being able to hear what they read.

Our initial attempt at creating an alternative for text content was to create a full page alternative for the original content. But that was eventually shelved because it created conflicts with file-by-file adaptations of individual resources, and we were running out of time with a release approaching. For now the full page adaptation for original content has been hidden away until there's a way to handle them better, but for anyone who wants to experiment, uncommenting a couple lines in the source code of the alternative content tool in the ATutor content editor, will turn it back on. (See the file include/html/editor_tabs/

What follows is a brief description of the IMS and ISO standards, and how they differ, then a description of the features in ATutor used to implement these standards

ISO FDIS 24751 or IMS AccessForAll

The ISO and IMS accessibility standards are both intended as a means of matching a learning environment and digital resources to the needs of individual learners. The IMS standard talks about ACCMD (AccessForAll Metadata) and ACCLIP (Accessibility for Learner Information Package). ACCMD is essentially a standard for defining how Learning Management Systems (LMSs) accommodate diverse types of learners, and ACCLIP is a standard for defining accessibility preferences and learner accommodations. ACCMD and ACCLIP are essentially mirrors of each other, one applicable to the host system, and the other applicable to the learning needs of individuals.

ISO takes a similar, perhaps more intuitive approach. The ISO equivalent for IMS ACCMD is the Digital Resource Description (DRD) and the equivalent for IMS ACCLIP is Personal Needs and Preferences (PNP). Where IMS defines Primary, and Secondary or Alternate resources, ISO defines Original Resources and Adapted Resources. IMS refers to "Content Types", as visual, auditory, textual, while ISO refers to "Access Modes" as visual, auditory, and textual (as well as tactile and olfactory); IMS defining characteristics of the content, and ISO defining the senses through which content is accessed.

ATutor User Preferences

User preferences have been extended greatly with the addition of AccessForAll to ATutor. Four additional types of personalized settings have been added to the existing ATutor settings. User preference now include:

  1. ATutor - The preferences prior to AFA, for controlling various ATutor related functionality.
  2. Display - Visual display characteristics such as text size, font type, and colour.
  3. Content - Control over display of adapted content: visual, audio, textual adaptations; to replace or supplement original content; choosing a preferred language for adapted resources.
  4. Controls - Display of navigation elements such as breadcrumbs, sequence links, tables of contents.
  5. Tools - Learning scaffolds displayed, such as a dictionary, calculator, or encyclopedia.

Adding AFA preference settings to ATutor involved taking the POST data submitted from the forms used to set personalized settings, like those in the screenshots below, and serializing (i.e. serialize($_POST); ) that data and adding it to the existing serialize preference string, saved in the database in a user's system information. When a person returns to ATutor the serialized preference string is retrieved and restored into the current session using the php unserialize function (i.e. unserialize($row['preferences']); ).

Once restored into the session, preferences exist as an array much like the following.

[prefs] => Array
            [PREF_THEME] => default
            [PREF_NUMBERING] => 1
            [PREF_TIMEZONE] =>
            [PREF_JUMP_REDIRECT] => 1
            [PREF_FORM_FOCUS] => 1
            [PREF_CONTENT_EDITOR] => 0
            [PREF_SHOW_GUIDE] => 1
            [PREF_FONT_FACE] =>
            [PREF_FONT_TIMES] => 1
            [PREF_FG_COLOUR] =>
            [PREF_BG_COLOUR] =>
            [PREF_HL_COLOUR] =>
            [PREF_ALT_TO_TEXT] => audio
            [PREF_ALT_TO_TEXT_APPEND_OR_REPLACE] => append
            [PREF_ALT_TEXT_PREFER_LANG] => en
            [PREF_ALT_TO_AUDIO] => text
            [PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE] => append
            [PREF_ALT_AUDIO_PREFER_LANG] => en
            [PREF_ALT_TO_VISUAL] => text
            [PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE] => append
            [PREF_ALT_VISUAL_PREFER_LANG] => en
            [PREF_DICTIONARY] => 1
            [PREF_THESAURUS] => 1
            [PREF_NOTE_TAKING] => 1
            [PREF_CALCULATOR] => 1
            [PREF_ABACUS] => 1
            [PREF_ATLAS] => 1
            [PREF_ENCYCLOPEDIA] => 1
            [PREF_SHOW_CONTENTS] => 1
            [PREF_SHOW_BREAD_CRUMBS] => 1

Now that these preference setting are stored in the ATutor session, they are applied to the environment in a number of ways as described in the following sub sections.

Display Settings

Display preferences are applied by generating an embedded stylesheet in the head area of ATutor, that overrides the system display settings with those of the user. Users can control various font and colour settings, which replace those same styles defined in the theme being viewed.

Content Settings

Content preferences are handled by ATutor's primary output parser (include/lib/  The output parser's provide_alternatives() function is responsible for the content adaptation, by checking if a content preference setting is enabled in the array described above, and retrieving the appropriate adaptations if they exist. If no adaptations exist, the original content is displayed. The following screenshot shows preference settings for alternatives to text and alternatives to audio, selecting whether to apply the adaptation, choosing which modal adaptation to replace the file with, and selecting the preferred language the resource should appear in.

Tool Settings

The first implementation of Tool preference is a simple static list of common learning scaffolds. An administrator defines the URLs to versions of Web based tools, such as an online dictionary, or calculator, for instance. When a user selects any of the available tools under the Tools tab of the Preferences screen, they appear as links to the external tools in a side menu block.

Control Settings

These settings allow a user to control which navigation elements are displayed: breadcrumbs, sequence links, and a table of contents at the top of each content page.

Implementing these control settings involve modifying ATutor themes, adding in several conditional statements (if/then) that check to see if a preference is set before displaying these navigation tools. The following statements are added to theme header template files

Preferences added to theme header template
show breadcrumbs here
show next previous links here.
Preferences added to content template
if ($_SESSION["prefs"]["PREF_SHOW_CONTENTS"] && $this->content_table <> ""){
    echo $this->content_table;

Authoring Adapted Content

The ATutor Content Editor has had a new Tab added, Adapted Content, through which content authors can assemble alternatives or supplements for original pieces of content. ATutor content pages are parsed to identify the files linked into each content page as a whole. First the Original Resource Types are defined: auditory, textual, and/or visual. Then a radio button for one of the resource files from the original content is selected on the left, and an adapted resource file is selected from the file manager to the right, then the Add button is pressed to create an association between the files. The Adapted Resource will then appear as a subsection to the original resource that appears above. Select the available Adapted Resource Types to define the access modality of the adapted resource, and select the language of the resource.

A variety of different adaptations can be added for each file in the original resource.

Import and Export AccessForAll Adaptations

AccessForAll content has been integrated into ATutor content packaging. You may choose to export AFA content when exporting a content package, and choose to import AFA content from a content package in which it exists.

What's Next

What has been described here is the first implementation of AccessForAll in ATutor, and the first implementation of ISO FDIS 24751 in any system.

We fully expect there to be room for improvements as we gather feedback from the ATutor user community, and as other systems begin to implement the standards themselves. Being open source, developers of other system can take our experience, and use our code as an example, and apply what we've learned with ATutor to their own systems. The source code is available for anyone to examine.

Our original goal was to implement IMS AccessForAll 1.0. That happened briefly, before it was decided instead to implement the ISO version of the standard. Our intent is still to implement IMS AccessForAll 2.0 when it becomes available. We expect only minor changes will be needed to implement the new IMS standard.

We are still considering implementing whole page alternatives to content, which allow authors to create adaptations for text. This might include such things as a university level lesson, adapted for high school using less complex language. Or, to replace a text-intense page with a multimedia intense page, or visa versa. Or, to replace English with Italian, or some other language. The possibilities for whole page adaptations of original content are many, but how they might be implemented as part of the ISO or IMS standards remains unclear.

One aspect of AccessForAll that needs more attention in future versions of ATutor is the importing and exporting of ACCLIP (PNP) profiles, so users can use their preferences created in other AFA conformant systems such Web4All or the TILE Learning Objects Repository. And, visa versa, allow users to export their preferences from ATutor so they can be imported into other systems that support the standard.