The following rubric has been developed to assess whether a programming lab is accessible to blind students. The rubric lists a set of standards that can play a role in making programming labs accessible. Each standard has been assigned one of three levels of importance: Essential, Important, and Helpful. The importance level relates to accessibility in the following ways:
The rubric consists of the following standards:
Requirement | Importance | Accessible | Not Accessible |
---|---|---|---|
Programming Language | Essential | The programming language is text based. Languages that are insensitive to capitalization errors and indentation are comparatively more accessible than other languages1. | The language is primarily graphical or uses a drag-and-drop metaphor for programming.2 |
Keyboard Shortcuts | Essential | The development environment provides keyboard shortcuts for all commonly used actions. Workarounds3 are available for less commonly used actions that don't have keyboard shortcuts. | Keyboard shortcuts are unavailable and no workarounds exist. |
Screen Reader Compatibility | Essential | Screen reader software will provide descriptive text for most user interface elements (such as buttons, menus, text labels, etc.) in the development environment. Interface elements without tab stops or other keyboard shortcuts are readable with the JAWS cursor or NVDA Object Navigation, Screen Review and Document Review. | Screen reader software does not read the majority of user interface elements, or required actions can only be performed using visual information. |
Document Formatting | Important | Assignment documents are properly formatted for maximum compatibility with screen reader software. | Assignment documents are improperly structured and will appear as a "blob of text" to screen reader software4. |
Diagrams | Important | If information is provided in the form of a system diagram, UML Class diagram, Use-case diagram, or other visual format, then descriptive text or tactile graphics5 are provided as an alternative to this information. | Information required to complete the lab is provided in graphical format without alternative text or descriptions. |
Video | Important | If a video walkthrough or lecture is provided, then narration describes all of the actions that the student must perform to complete the lab. | Actions are shown in the video but not described in the narration. |
Example Code | Important | If example code or code fragments are given, they should be presented in text format or as a screen capture with descriptive text. | Lab requires the student to manually type in text from a screen capture or other graphical format. |
Debugging | Important | Compiler or runtime interpreter should provide errors in textual format. Breakpoints, stepping, variable values, etc. should all be compatible with keyboard shortcuts and screen readers. | Error information relies on highlighting or other visual presentation of information that is not compatible with screen readers. |
Interface Design | Important | If the assignment requires designing and laying out user interface elements, the student will be able to do so using code. | The student is required to use a GUI-based interface design tool, which requires the use of the mouse and the screen. |
Output Requirements | Important | Output is primarily static, textual, and is screen-reader accessible. | Output is primarily graphical or animated6. |
Sample Output | Important | If sample output is provided, it is given in text format or as a screen capture with descriptive text that fully specifies the output requirements. | A screen capture of sample output is provided without an accompanying description or suitable alternative text. |
Shortcuts List | Helpful | Frequently used keyboard shortcuts are provided as a separate document and are suitable for printing in Braille. | No documentation on keyboard shortcuts is provided, or an exhaustive list is provided that requires the student to search for each shortcut. |
Instructions | Helpful | If a series of actions must be performed by the student, these instructions should be provided as a numbered list. It is also helpful to provide the keyboard shortcuts in these instructions7. | Instructions are provided in paragraph format or other unstructured block of text. |
Notes: