Compare commits

..

1 Commits

Author SHA1 Message Date
Timmy
91df6951f7 fix: repair a11y CI workflow after game.js removal (closes #100)
Some checks failed
Accessibility Checks / a11y-audit (pull_request) Successful in 3s
Smoke Test / smoke (pull_request) Failing after 4s
PR #92 removed game.js but the a11y workflow still grep'd and
syntax-checked it. Rewrote to validate the current file layout:
- aria-label/aria-pressed across js/*.js
- role= and aria-label in index.html
- node -c syntax check on all js/*.js files

smoke.yml was already clean — no changes needed.
2026-04-13 04:14:43 -04:00

View File

@@ -9,47 +9,37 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate ARIA Attributes in JS
- name: Validate ARIA attributes in JS
run: |
echo "Checking JS files for ARIA attributes..."
JS_FILES=$(find js -name '*.js' 2>/dev/null)
if [ -z "$JS_FILES" ]; then
echo "WARNING: No JS files found in js/"
exit 0
fi
ARIA_FOUND=0
for f in $JS_FILES; do
if grep -q "aria-" "$f" 2>/dev/null; then
echo " ✓ $f has ARIA attributes"
ARIA_FOUND=1
echo "Checking js/*.js for ARIA attributes..."
MISSING=0
for attr in aria-label aria-pressed; do
if ! grep -rq "$attr" js/*.js; then
echo "ERROR: $attr missing from js/*.js"
MISSING=1
fi
done
if [ "$ARIA_FOUND" -eq 0 ]; then
echo "ERROR: No ARIA attributes found in any JS file"
exit 1
if [ "$MISSING" -eq 0 ]; then
echo "PASS: ARIA attributes present in JS"
fi
echo "PASS: ARIA attributes present"
- name: Validate ARIA Roles in index.html
exit $MISSING
- name: Validate ARIA roles in index.html
run: |
echo "Checking index.html for ARIA roles..."
if [ ! -f index.html ]; then
echo "ERROR: index.html not found"
exit 1
fi
grep -q "role=" index.html || (echo "ERROR: No ARIA roles found in index.html" && exit 1)
echo "PASS: ARIA roles found in index.html"
- name: Syntax Check JS
grep -q 'role=' index.html || (echo "ERROR: No ARIA roles found in index.html" && exit 1)
grep -q 'aria-label' index.html || (echo "ERROR: No aria-label found in index.html" && exit 1)
echo "PASS: ARIA roles and labels present in index.html"
- name: Syntax check JS
run: |
echo "Checking JS syntax..."
echo "Running node -c on js/*.js..."
FAIL=0
for f in $(find js -name '*.js' 2>/dev/null); do
node -c "$f" 2>/dev/null && echo " ✓ $f" || { echo " ✗ $f SYNTAX ERROR"; FAIL=1; }
for f in js/*.js; do
node -c "$f" || FAIL=1
done
if [ "$FAIL" -eq 1 ]; then
echo "ERROR: JS syntax errors found"
exit 1
if [ "$FAIL" -eq 0 ]; then
echo "PASS: All JS files parse"
fi
echo "PASS: All JS files parse"
exit $FAIL