OAI / OpenAPI-Specification

The OpenAPI Specification Repository
https://openapis.org
Apache License 2.0
29.03k stars 9.07k forks source link

Improve accessibility of OpenAPI specification documents #3946

Closed ralfhandl closed 3 months ago

ralfhandl commented 4 months ago

Recommendation by @stringtheory

Findings

Additional findings (not strictly accessibility)

Accessible preview: https://ralfhandl.github.io/OpenAPI-Specification/oas/latest-a11y.html image

Currently published: https://spec.openapis.org/oas/latest.html image

stringtheory commented 4 months ago

Just wanted to throw in some general comments.

@ralfhandl Amazing work using lighthouse and going through.

Agree that the bright green headlines are problematic. Your style guide is also problematic in the way it specs out colors. It is in CMYK - so the colors you are picking from don't even really match. I played with correct conversions here. https://codepen.io/stringtheory/pen/VwJYjWP I am glad to provide a couple of alternative colors that meet the current spec and also future-proof you to the new spec.

I went up the chain a bit with the Accessibility Spec people - since there is less of a definitive answer on the color formatting for syntax highlighting // and am awaiting to hear back.

For distinguishable links - a very common way to handle them is with an underline. You will have bold for other things in the spec so you don't want to add confusion.

I am swamped until late this week - but glad to go into more detail and help further then - if you don't mind waiting.

ralfhandl commented 4 months ago

Your style guide is also problematic in the way it specs out colors. It is in CMYK - so the colors you are picking from don't even really match. I played with correct conversions here. https://codepen.io/stringtheory/pen/VwJYjWP

Thanks, I wondered how the Pantone colors 7737 C, 574 C, and 375 C mentioned in the OpenAPI Style Guide are correctly translated to hex colors.

Trying four different "Pantone to hex" converters on the web I ended up with three different sets of hex colors 😁. The two that agreed are slightly different from your conversion:

Pantone Hex
7737 C #6BA539 6BA539
574 C #4E5B31 4E5B31
375 C #97D700 97D700

So which ones are correct? I don't want to create a user for accessing https://www.pantone.com/color-finder ☚ī¸

stringtheory commented 3 months ago

In the end, I pulled colors out of the logo graphics file (that did not match the Pantone at all). I have official Pantone conversions - but I actually could not get them to line up with the colors in your graphics files.

https://codepen.io/stringtheory/pen/abgJYmb

I picked 2 options for text options that pass the AA success criteria and work with your color palette.

Different color options read better - but updating your color palette is a bigger discussion / so for now just using a re-colored version of a palette from the logo on your site.

OKLCH: oklch(56% 20% 126) Hex: #677C46 Contrast Ratio 4.66:1

OKLCH: oklch(45% 36% 129) Hex: #578000 Contrast Ratio 4.67:1

ralfhandl commented 3 months ago

Tried both colors and the current one and put them in the next comments.

You can upvote (👍đŸģ) which one(s) you like most.

ralfhandl commented 3 months ago

Hex: #677C46 https://ralfhandl.github.io/OpenAPI-Specification/oas/latest-a11y-left.html

image

ralfhandl commented 3 months ago

Hex: #578000 https://ralfhandl.github.io/OpenAPI-Specification/oas/latest-a11y-right.html

image

ralfhandl commented 3 months ago

Current: https://ralfhandl.github.io/OpenAPI-Specification/oas/latest.html

image

lornajane commented 3 months ago

The right hand option is chosen.