Accessibility Test Plan for Python Download Package
This page is the accessibility test plan for Python Download Package.
After download and install Python 3.9, besides Python language, the package installs two helper tools on the computer:
- IDLE, a Python’s Integrated Development and Learning Environment
- Python Launcher, an application to run python scripts
Below is test plan for testing accessibility of using Python with these tools.
Test Plan for IDLE
The test plan covers two parts:
- Python has a list of reserved keywords. Most keywords are regular words but there are a few that are abnormal. One part of the test plan is to make sure these abnormal keywords are communicated to AT users in an understandable way.
- The other part of the test plan is to make sure special characters used in scripts such as punctuations and symbols are are communicated to AT users in an understandable way.
- Screenreader: check accuracy of speech, check navigation options, are additional character files required to be installed to reader
Steps to test reserved keywords "def" and "nonlocal"
1. Launch IDLE, which brings up a command line interface;
2. Input the lines from Code Block A into the interface while using your AT, then hit enter twice until you see or hear the prompt sign ">>>";
def myfunc1(): x = "John" def myfunc2(): nonlocal x x = "hello" myfunc2() return x
3. Continue to input the line from Code Block B into the interface while using your AT, then hit enter twice;
print(myfunc1())
4. IDLE should print out this line shown in Code Block C:
hello
5. Input the line from Code Block D into the interface while using your AT, then hit enter;
print(myfunc2())
6. The error below should be output in red as shown in Code Block E:
Traceback (most recent call last): Â File "<pyshell#47>", line 1, in <module> Â Â print(func1()) NameError: name 'func2' is not defined
This whole process should be communicated to IDLE users via AT.
Repeat steps above by copying and pasting the code into the interface.
Steps to test reserved keywords "elif"
"elif" stands for "else if". This test is to ensure this special word can be communicated to AT users.
1. Launch IDLE, which brings up a command line interface;
2. Input the line from Code Block F into the interface while using your AT, then hit enter;
hello_world = True
3. Continue to input the lines from Code Block G below into the interface while using your AT, then hit enter twice until you see the prompt sign ">>>";
if (hello_world): Â Â print("hi, world") elif (hello_world == "True"): Â Â print("true") else: Â Â print("false")
4. IDLE should print out this line shown in Code Block H:
hi, world
This whole process should be communicated to IDLE users via AT.
Repeat steps above by copying and pasting the code into the interface.
Steps to test the communication of special characters
Writing scripts often involve the use of special characters such as ~ ! @ # etc. This test is to ensure these special chars can be entered and communicated to AT users properly.
1. Launch IDLE, which brings up a command line interface;
2. Input the line from Code Block I into the interface while using your AT, then hit enter;
z="<world> = great!"
3. Continue to input the line from Code Block J into the interface while using your AT, then hit enter;
removeSpecialChars = z.translate ({ord(c): " " for c in "!@#$%^&*()[]{};:,./<>?\|`~-=_+"})
4. Continue to input the line from Code Block K into the interface while using your AT, then hit enter;
print(removeSpecialChars)
5. IDLE should print out this line shown in Code Block L:
world   great
This whole process should be communicated to IDLE users via AT such as screen readers or dictators.
Note there are empty spaces in front of and at the end of the output line, which should be communicated too.
Repeat steps above by copying and pasting the code into the interface.
Test plan for Python Launcher
1. Open a text editor;
2. Copy and paste the script in Code Block M into the editor;
hello_world = True if (hello_world) : Â print("hi, hello world") elif (hello_world == "True") : Â print("true, hello world") else : Â print("false, hello world")
3. Save the script as a file with a file extension ".py", for example in a file name of "test.py";
4. Launch Python Launcher;
5. In Python Launcher file menu, go to File → Open;
6. Select the file you just saved;
7. If Python Launcher asks for permission to run terminal, choose "yes";
8. Python Launcher opens a terminal, runs the script and print the output below in the terminal as shown in Code Block N:
Last login: Fri Mar  5 12:49:38 on ttys001 cd '/Users/cindyli/Development/' && '/usr/local/bin/python3'  '/Users/cindyli/Development/test.py'  && echo Exit status: $? && exit 1 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. cindyli@Cindys-MacBook-Pro-3.local:~$ cd '/Users/cindyli/Development/' && '/usr/local/bin/python3'  '/Users/cindyli/Development/test.py'  && echo Exit status: $? && exit 1 hi, hello world Exit status: 0 logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. [Process completed]
This whole process should be communicated to IDLE users via AT.