[PATCH 00/17] CLI option handling updates for various apps
Alan Coopersmith
alan.coopersmith at oracle.com
Fri Nov 15 18:38:29 PST 2013
One of the tasks I've been doing at work is looking at what it will take to
bring our software into compliance with the latest accessibility standards,
specifically http://www.w3.org/TR/wcag2ict/ which seems to be one of the
standards which many countries will be adopting in their acessibility laws
& regulations for non-web based technologies like X programs.
Currently I'm concentrating on the guidelines for interacting with programs
from the command line and how well we comply with these two rules in
particular:
3.3.1 If an input error is automatically detected, the item that is in error
is identified and the error is described to the user in text.
http://www.w3.org/TR/wcag2ict/#minimize-error-identified
3.3.3 If an input error is automatically detected and suggestions for
correction are known, then the suggestions are provided to the user,
unless it would jeopardize the security or purpose of the content.
http://www.w3.org/TR/wcag2ict/#minimize-error-suggestions
Besides being useful for accessibility, these are also good usability rules.
For command line parsing, we're currently interpreting these roughly as:
3.3.1 - Don't just spew usage message, say which option was wrong & why.
3.3.3 - But still include the usage message as a suggestion for what the
right syntax is.
Unfortunately, many of the X apps aren't doing a good job of meeting them yet,
and the many ad hoc parsers in X mean we can't just count on getopt doing it
for us.
This patch series starts applying those to the CLI option handling in the X
apps, at least a first batch I've gotten through so far. While I'm in there
I have done some other cleanups, as well as continuing to propogate the
addition of flags to print the package version so it's easier for users to
include in bug reports.
There's many more to go, but I figured I'd send this batch now in case anyone
had feedback about changing direction before I went further.
appres:
Print which option was in error along with usage
bdftopcf:
Print which option was in error along with usage
bitmap:
Print which option was in error along with usage
fslsfonts:
Add -version option to print version
Print which option was in error along with usage
fstobdf:
Spell out -server in usage message to match man page
Print which option was in error along with usage
Add -version option to print version
Print error and usage on invalid arg, instead of ignoring it
iceauth:
Actually print command list in usage message
Fix "noexistent" typo in error message
Add -V flag to print version
Print which option was in error along with usage
mkfontscale:
Add missing newline to usage output
Add -v flag to print program version
Make usage() always exit(1)
Print which option was in error along with usage
appres/appres.c | 5 +++-
bdftopcf/bdftopcf.c | 2 +
bitmap/atobm.c | 26 +++++++++++++++++------
bitmap/bmtoa.c | 8 ++++++-
bitmap/configure.ac | 2 -
fslsfonts/configure.ac | 2 -
fslsfonts/fslsfonts.c | 44 ++++++++++++++++++++++++++++++----------
fslsfonts/man/fslsfonts.man | 3 ++
fstobdf/configure.ac | 2 -
fstobdf/fstobdf.c | 40 +++++++++++++++++++++++++-----------
fstobdf/man/fstobdf.man | 6 +++++
iceauth/iceauth.c | 24 ++++++++++++++++-----
iceauth/man/iceauth.man | 2 +
iceauth/process.c | 2 -
mkfontscale/configure.ac | 2 -
mkfontscale/man/mkfontscale.man | 5 ++++
mkfontscale/mkfontscale.c | 44 +++++++++++++++++++++++-----------------
17 files changed, 158 insertions(+), 61 deletions(-)
--
1.7.3.2
More information about the xorg-devel
mailing list