Make docs site (jrnl.sh) fully meet Web Content Accessibility Guidelines (WCAG) 2.1 (#1105)

* add some attribtutes to docs template for accessbility

* fix colors to meet accessibility guidelines (4.5 contrast ratio for text)

* Fix last remaining pa11y error (no button on search form)

This fix required moving the mkdocs theme out of the docs directory.
It's no in the docs_theme directory, and the mkdocs config is updated
accordingly.

* Re-enable accessibility testing for docs sit

Also, move the pa11y script into the gh actions workflow

* clean up linting issues in css

* fix and standardize link colors across site

* fix twitter button opacity making text fail contrast requirements

* move buttons on docs site index nav, tweak font weights

* fix footer opacity, tweak spacing of the now more visible sections of the page

* change font sizes on index page to meet WCAG

* udpate font sizes site-wide for accessibility

* fix sidebar for accessibility (font sizes and color contrasts)

* restyle code blocks to have dark background, and meet accessibility requirements

* standardize (accessible) colors across docs site
This commit is contained in:
Jonathan Wren 2020-12-12 12:05:12 -08:00 committed by GitHub
parent 42c222a6c8
commit 558d331d66
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 835 additions and 644 deletions

View file

@ -5,14 +5,18 @@ on:
branches: [ develop, release ]
paths:
- 'docs/**'
- 'docs_theme/**'
- 'mkdocs.yml'
- 'readthedocs.yml'
- '.github/workflows/docs.yaml'
pull_request_target:
branches: [ develop ]
paths:
- 'docs/**'
- 'docs_theme/**'
- 'mkdocs.yml'
- 'readthedocs.yml'
- '.github/workflows/docs.yaml'
jobs:
accessibility:
@ -47,14 +51,31 @@ jobs:
run: poetry run mkdocs serve &
- name: Accessibility testing (Pa11y)
run: poetry run .github/workflows/pa11y.sh
env:
site_url: http://127.0.0.1:8000
exit_code: 0
run: |
set +e
poetry run mkdocs build
mkdir -p "reports"
printf -- 'scanning: /\n'
./node_modules/.bin/pa11y "$site_url" --reporter junit > "reports/root.xml" || exit_code=2
for file in $(poetry run xq '.urlset.url[].loc' site/sitemap.xml -r | sed -r 's!https://jrnl.sh/(.*?)/$!\1!'); do
printf -- 'scanning: /%s\n' "$file"
./node_modules/.bin/pa11y "$site_url/$file" --reporter junit > "reports/$file.xml" || exit_code=2
done
exit $exit_code
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v2
with:
name: Unit Test Results (pa11y)
path: reports/pa11y/*.xml
path: reports/*.xml
publish-test-results:
if: success() || failure()
@ -70,7 +91,7 @@ jobs:
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v1.4
if: always()
if: success() || failure()
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
check_name: Unit Test Results

View file

@ -1,20 +0,0 @@
#! /bin/bash
set +e
reports_dir="reports/pa11y"
site_url="http://127.0.0.1:8000"
exit_code=0
mkdocs build
mkdir -p "$reports_dir"
printf -- 'scanning: /\n'
./node_modules/.bin/pa11y "$site_url" --reporter junit > "$reports_dir/root.xml" || exit_code=2
for file in $(xq '.urlset.url[].loc' site/sitemap.xml -r | sed -r 's!https://jrnl.sh/(.*?)/$!\1!'); do
printf -- 'scanning: /%s\n' "$file"
./node_modules/.bin/pa11y "$site_url/$file" --reporter junit > "$reports_dir/$file.xml" || exit_code=2
done
# exit $exit_code
exit 0 # ignore for now since there are so many warnings