zowe-cli
zowe-cli copied to clipboard
ADA sec. 508 Accessiblity Issue — Color Contrast Issue in Profiles List
The colors used by default for the command Zowe Profiles List some-plugin --showContents
render the output of show contents, especially for numbers, unreadable. As the pictures below document, in a vanilla Powershell or Windows CMD.EXE, you cannot completely read the output of the show contents list command. This is a ADA sec. 508 issue since IBM vendors often have federal contracts. Our company does.
Section 508 of the Rehabilitation Act (29 U.S.C. § 794d) requires that Federal agencies' electronic and information technology is accessible to people with disabilities, including employees and members of the public.
Here's a reference: https://www.ada.gov/508/index.html
Command line products tend to be "accessible" for the blind because of screen readers. Persons in-between (old developers like me) will nevertheless have problems with color contrasts. By default, any developer dealing with color design for the Zowe CLI needs to keep this firmly in mind. Plugin designers need to do this, too, but that is not in our purview.
Nosing around in the code, I found a reference to FORCE_COLOR=0
. This is a node environment variable and when set to zero, the results become readable but all color is stripped. That's probably someting we don't want our users to do to our precious little programs. Still, let's not force them, okay? The colors used to output the YAML in the profile need to be set to neutral choices as a best practices accessible UI design. That is the fix I am requesting by posting this issue.
That said, for ADA 508 accessibility reasons something like FORCE_COLOR=0
needs to be front and center in Zowe help. Perhaps, additional, a standardized option advertised prominently in GLOBAL OPTIONS whenever a user issues the --help option. How about: --no-color
that also honors the NO_COLOR environment variable? Reference: https://no-color.org/. Not saying this needs to be a Zowe compliance item, though.
Windows 10 CMD.EXE
Windows 10 Powershell
FORCE_COLOR = 0
In the department of practice what you preach, I've implemented --no-color
and --nc
for my CLIs. They honor the environment variables NO_COLOR
and FORCE_COLOR=0
. I've put it into the connection profile so the user can specify it persistently using zowe profiles
and turn it off for individual sessions by specifying --no-color off
.
Here's the accessibility options that the user sees by specifying help in zowe:
The "zowe profiles" command group was deprecated in Zowe 2.x. However, this same concern applies to its 2.x replacement, 'zowe config list'.
Since users can select the foreground and background colors in their terminal window, it will be difficult to select colors that will always work well for any given user's selection of colors.
One option might be to remove the colorization from this command. Additional commands may have to remove colorization as concerns are identified by future, specific issues.
An alternative could be to document the FORCE_COLOR environment variable in the Zowe documentation topic "Configuring Zowe CLI environment variables"
A note regarding terminal colors has been added to the V3 staging branch of the CLI documentation. https://github.com/zowe/docs-site/blob/v3-doc-branch/docs/user-guide/cli-using-usingcli.md
We should consider adding this note to V2/V1.