Core Library Components for Text-To-Speech: Additional Utility Functions Library

by Charles L. Chen
December 17, 2007
ver. 4.2

Table of Contents

  1. Introduction
  2. Conventions Used In This Documentation
  3. List of Functions Provided
  4. Detailed Usage Instructions
  5. Changes

1. Introduction

This library is a collection of functions that would probably be useful for someone trying to create a screen for a screen reader within Mozilla Firefox. Installing the CLC-Utilities extension will give all other extensions within Firefox the ability to use the JavaScript functions provided in this library. The CLC-Utilities extension by itself is only a library and does not add any hotkeys or menus to Firefox. All functions and global variables used in this library are preceded with "CLC_" to avoid any potential naming conflicts.

The code for this library is open source and is licensed under the terms of the GNU GPL.

2. Conventions Used In This Documentation

While JavaScript is not typed the way C++ and Java are, I believe it is still helpful to identify the expected type of the inputs and outputs of the various functions. In order to do so, I have adopted the documentation convention of "RETURNTYPE functionname(TYPE_ARG1, TYPE_ARG2, ...)" for all of the functions presented here.

A function (non_existant_dummy_add_function) that is expected to add two integers passed in as arguments to it (X and Y) and return the result would be presented in the documentation as:
"int non_existant_dummy_add_function(int_x, int_y)"
An example of using such a function in your JavaScript would be:

var myfirstnumber = 1;
var mysecondnumber = 2;
var myanswer = non_existant_dummy_add_function(myfirstnumber, mysecondnumber);

The expected result of the above example would be the number 3 showing up in an alert box.
The following is a list of types that I have used and what they mean:

The term "Atomic Object" as I have used it in this document means a DOM-Obj that cannot be further subdivided. In other words, it is a DOM-Obj that has no child nodes or where the child nodes must not be treated individually (as in the case of MathML nodes where the children of the main "math" element must be considered in the context of the main "math" element and Select nodes where the Option elements under it only make sense in the context of being a choice in the Select box).

3. List of Functions Provided

4. Usage Instructions

The detailed usage instructions are still being written. They will be available soon.

5. Changes