mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-10 00:12:09 +00:00
Use Equal Access to checl whole site
This commit is contained in:
parent
a3aa0fbaaf
commit
2f8e5d8a4d
4 changed files with 79 additions and 4 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,3 +11,4 @@ public/
|
|||
public_*/
|
||||
.hugo_build.lock
|
||||
csv/webrings.csv
|
||||
results/
|
||||
|
|
11
Makefile
11
Makefile
|
@ -43,8 +43,13 @@ lint-css: $(CSS_DIR)/*.css
|
|||
pnpm -s dlx stylelint --config linter-configs/stylelintrc.json --di --rd --rdd $(CSS_DIR)/*.css
|
||||
@#csslint --quiet $(CSS_DIR)
|
||||
|
||||
.PHONY: lint-html
|
||||
lint-html:
|
||||
.PHONY: validate-json
|
||||
validate-json:
|
||||
jq -reM '""' $(OUTPUT_DIR)/manifest.min.*.webmanifest 1>/dev/null
|
||||
jq -reM '""' $(OUTPUT_DIR)/webfinger.json 1>/dev/null
|
||||
|
||||
.PHONY: validate-html
|
||||
validate-html:
|
||||
$(VNU) --stdout --format json --skip-non-html --also-check-svg $(OUTPUT_DIR) | sh scripts/filter-vnu.sh
|
||||
|
||||
.PHONY: hint
|
||||
|
@ -53,7 +58,7 @@ hint: hugo .hintrc-local
|
|||
rm .hintrc-local
|
||||
|
||||
.PHONY: lint-local
|
||||
lint-local: lint-css lint-html
|
||||
lint-local: validate-html validate-json lint-css
|
||||
|
||||
# dev server, includes future and draft posts
|
||||
.PHONY: serve
|
||||
|
|
|
@ -19,12 +19,16 @@ hint-online:
|
|||
hint --config linter-configs/hintrc -f codeframe $(URL)
|
||||
lighthouse:
|
||||
mkdir -p $(CHROME_PROFILE)
|
||||
CHROME_PATH=$(CHROME_PATH) CHROME_PROFILE=$(CHROME_PROFILE) JS_FLAGS='' lighthouse $(URL) $(LIGHTHOUSE_ARGS)
|
||||
CHROME_PATH=$(CHROME_PATH) CHROME_PROFILE=$(CHROME_PROFILE) JS_FLAGS='' lighthouse $(URLS) $(LIGHTHOUSE_ARGS)
|
||||
rm -rf $(CHROME_PROFILE)
|
||||
redbot:
|
||||
redbot_cli -a $(URL)
|
||||
axe:
|
||||
axe $(URLS) --chrome-options $(CHROME_FLAGS_COMMA) --chromedriver-path=$(CHROMEDRIVER_PATH) --show-errors
|
||||
equal-access:
|
||||
@echo $(URLS) | tr ' ' '\n' >urls.txt
|
||||
achecker --reportLevels violation,recommendation,potentialrecommendation urls.txt
|
||||
rm urls.txt
|
||||
|
||||
all: lighthouse hint-online
|
||||
|
||||
|
|
65
scripts/bin/check-whole-site
Executable file
65
scripts/bin/check-whole-site
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env dash
|
||||
|
||||
set -e -u
|
||||
|
||||
# the name of this program
|
||||
progname="$(basename "${0}")"
|
||||
|
||||
help_text="Usage:
|
||||
|
||||
Validate the site's markup, CSS, and accessibility.
|
||||
|
||||
Uses xmllint to to check well-formedness and the Nu HTML Checker to
|
||||
check (X)HTML5 and CSS validity on every markup file (inc. HTML, XHTML,
|
||||
SVG). (xmllint is only relevant if you're using XML syntax).
|
||||
|
||||
Lints source CSS files with stylelint.
|
||||
|
||||
Uses both axe-core and the IBM Equal Access Checker to test
|
||||
accessibility on every page in the sitemap.
|
||||
|
||||
Options:
|
||||
-h Print this help and exit
|
||||
-b Base URL of site
|
||||
"
|
||||
|
||||
# TODO: add the following:
|
||||
# - check broken internal links
|
||||
# - check broken webring links
|
||||
# - validate JSON (web app manifest, webfinger)
|
||||
|
||||
usage() {
|
||||
printf '%s' "${help_text}"
|
||||
}
|
||||
|
||||
# when the user passess bad args, send a msg to stderr and exit
|
||||
# usage: bad_option <option> <reason>
|
||||
bad_option() {
|
||||
echo "${progname}: option ${1}: ${2}" >&2
|
||||
usage >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
base_url='http://localhost:8089/'
|
||||
|
||||
while getopts "hb" flags; do
|
||||
case ${flags} in
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
b)
|
||||
base_url="$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
bad_option "${flags}" 'invalid option'
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
make -j1 HUGO_FLAGS=-DF HUGO_BASEURL="$base_url" clean hugo xhtmlize lint-html
|
||||
make -j2 -f Makefile.online lint-css axe equal-access URLS="$(curl "$base_url/sitemap.xml" | htmlq loc -t | rg -v '/search/$' | tr '\n' ' ')"
|
||||
|
||||
# vi:ft=sh
|
Loading…
Reference in a new issue