Skip to content

[Backport] Release v1.41.0 - #1695

Merged
pattonwebz merged 23 commits into
developfrom
release/1.41.0
May 14, 2026
Merged

[Backport] Release v1.41.0#1695
pattonwebz merged 23 commits into
developfrom
release/1.41.0

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automatic Backport

This is an automatic backport of PR #1693 by @pattonwebz to the develop branch.

Original PR Details:

Steve Jones (3):

  • Revise screenshots for version 1.40.0
  • chore: regenerate hooks docs
  • Fix stale @return docblock on license context methods

William Patton (6):

  • [Backport] Release v1.40.0
  • Update POT translation file
  • PTC accessibility-checker (1985): Edits by Steve Jones (May 05, 2026 19:39:04652135)
  • Add versioning to scanner bundle URL for frontend scans
  • Don't flag role="heading" elements as possible headings
  • Make pro always authoritive for license checking

This PR was created automatically when #1693 was merged into main.

pattonwebz and others added 23 commits April 24, 2026 13:35
Elementor (and other builders) use a visually-hidden pattern — clip, 1px dimensions,
overflow hidden — to provide accessible labels for icon-only elements. These labels
have no meaningful font size to enforce, so the text_size_too_small check was
producing a false positive.

Adds isScreenReaderOnly() to helpers, which walks the element and its ancestors
checking for the sr-only clip pattern, and gates the check early when matched.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Avoids ancestor style walks on nodes that would return false before
reaching font-size evaluation anyway.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
clip: rect(0,0,0,0) only clips visually on position:absolute/fixed elements.
clipPath:inset(50%) has no such restriction and is left unguarded.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers passing cases (adequate font size, empty content, non-leaf containers,
sr-only clip patterns) and failing cases (text at or below 10px threshold).
Includes a regression test for the Elementor social icon sr-only false positive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
'should pass...' with shouldPass: false was misleading. Renamed to
'should fail...' and moved into the failing cases section.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
clip/clip-path checks alone miss Elementor's .elementor-screen-only class, which
uses position:absolute + width:1px + height:1px + overflow:hidden without relying
on clip values. Adds that combination as a third detection path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Elementor sets font-size: 0 on icon widget containers to eliminate inline-block
spacing gaps. Spans inside (including sr-only labels) inherit this value and were
being falsely flagged. font-size: 0 means text is not rendering — it is not the
same concern as visible text that is too small to read.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-icon-screen-reader-text-or-something-false

Fix false positive: skip screen-reader-only elements in text_size_too_small check
@pattonwebz
pattonwebz merged commit fe127ba into develop May 14, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants