Skip to content

Accessibility Audit 1.3.5: focus in frames, questions of states, and layout questions by kind - #10

Merged
HosseinKarami merged 1 commit into
mainfrom
fix/1.3.5-frames-states-grouping
Nov 6, 2026
Merged

HosseinKarami merged 1 commit into
mainfrom
fix/1.3.5-frames-states-grouping

Conversation

@HosseinKarami

Copy link
Copy Markdown
Member

Summary

Version 1.3.5. Fixes from the seventh full audit of the large WordPress multisite, with 1.3.4, and from its first review cycle with 200 questions. All the fixes of 1.3.4 worked. One new issue was false. The details are in CHANGELOG.md.

The tests

  • The focus test reads the control that has the focus inside a frame, also a frame of another origin. Before, it compared the styles of the frame element, which do not change. So an embedded form whose fields show a clear outline gave a false "No visible focus". When the document of the frame has the focus, for example a lazy frame that is still loading, the test waits for the load and presses Tab once more. When the frame cannot be read, the test asks a question. The detection of focus-not-visible is now 1.3.5.
  • The item of an element leaves out the fragment of its src. The script of an embed added the times of the load to its address, so its question had a new ID in each run. A fragment that does not change gives the old item again.

The results from run to run

  • A question whose items are all in a state records evidence.in_state. It stays "not checked" with its answers when its page leaves the sample. When it has no answer, its page joins the sample. Before, it went.
  • The questions and the issues of visual-order-differs group by the kind of element. On the multisite, 2,332 questions came from 17 kinds of element, and all 385 answers were "no issue". The old questions move into the new ones, and their answer continues when the answers agree. An issue moves to its new ID with its status, origin, and solution.

The cycle

  • tasks <step> --retry lists only the items of the last batches that still wait.
  • The report counts all the first AI answers and names the unsure ones.
  • The prompts of cycle.md name the skill folder, the command, and a work folder in runs/.
  • The locate step confirms an issue of the own tests on the live page before it writes a fix.
  • page-not-linked: the site search counts as one way. The XML sitemap does not count. A page that only the search finds is an issue.
  • player-found: "issue" when an alternative is missing, "unsure" when the decision needs the sound.
  • The CI job has 45 minutes, not 30.

Test plan

  • npm test, with a new test file, frames-and-layout (23 checks).
  • The seeded faults: 74 of 74 found.
  • The new checks on the 1.3.4 code: 17 fail, 3 pass (a setup check, a check that a question at rest has no in_state, and the check of a frame that is still loading), and the last 3 cannot run because 1.3.4 has no --retry.
  • The new focus test on the 4 pages of the multisite with frame issues, read-only, at 390 and 1280 px. The embedded form of the false issue and the social feed give no issue. The weather frame, which has no control, still gives the issue. A chatbot frame whose close button shows no change on focus gives one.
  • A refresh with this branch on a copy of the multisite results after the cycle. The layout questions go from 2,332 to 14, and 12 of them keep the agreed answer. The questions that wait for the AI go from 5,656 to 3,711. No other answer goes, and no issue file changes. 4 questions get in_state. A second refresh changes no file.
  • A full audit of the multisite with 1.3.5.

…layout questions by kind

The focus test reads the control that has the focus inside a frame, so an embedded
form whose fields show an outline gives no false issue. A question whose items are
all in a state records it, stays "not checked" with its answers when its page leaves
the sample, and brings its page into the sample when it has no answer. The item of
an element leaves out the fragment of its src. The questions and the issues of
visual-order-differs group by the kind of element, and the old answers continue when
they agree. tasks --retry lists only what the last batches left. The report counts
all the first AI answers. The prompts of the cycle name the skill folder, the
command, and a work folder; the locate step confirms an issue of the own tests on
the live page; page-not-linked and player-found say what the AI can decide.
@HosseinKarami
HosseinKarami merged commit aceb9f2 into main Nov 6, 2026
1 check passed
@HosseinKarami
HosseinKarami deleted the fix/1.3.5-frames-states-grouping branch November 6, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant