zowe-cli icon indicating copy to clipboard operation
zowe-cli copied to clipboard

ADA sec. 508 Accessiblity Issue — Color Contrast Issue in Profiles List

Open scifipony opened this issue 4 years ago • 3 comments

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 cmdexeUnreadable Windows 10 Powershell PowershellUnreadable FORCE_COLOR = 0 FORCE_COLOR=0

scifipony avatar Apr 09 '20 22:04 scifipony

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: nocolor

scifipony avatar Apr 10 '20 22:04 scifipony

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"

gejohnston avatar Dec 13 '22 20:12 gejohnston

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.

adam-wolfe avatar Apr 24 '24 17:04 adam-wolfe