Skip to content

Fix invalid aria-selected on payment settings tab label - #3373

Merged
Crabcyborg merged 1 commit into
masterfrom
fix/issue-6701-aria-selected-invalid-role
Sep 18, 2026
Merged

Crabcyborg merged 1 commit into
masterfrom
fix/issue-6701-aria-selected-invalid-role

Conversation

@vivi-the-going-merry

Copy link
Copy Markdown
Contributor

What was broken

IBM Equal Access's aria_attribute_valid rule flagged a violation in the Cypress a11y run (tests/cypress/e2e/admin-a11y.cy.js, formidable-settings page). The CI log only records rule id/level/message, not a selector, so this was traced statically: classes/views/frm-settings/payments.php's payment-gateway tab <label> sits inside a role="tablist" container but carries aria-selected with no role of its own. aria-selected is only valid on option/tab/row/gridcell/treeitem/columnheader/rowheader — a bare <label> has no implicit ARIA role, so the attribute was invalid on it.

What changed

Added role="tab" to the label's attributes, matching the semantic intent (it's a clickable tab inside a tablist) and making aria-selected valid on the element that carries it.

How it was verified

Markup-only, single attribute addition — no CSS/JS change. Traced statically to the single element on the tested pages pairing an explicit role with a mismatched aria-* attribute; everything else co-occurring on the spec's target pages (dashboard, form list, entries, styles, applications, templates, import, settings, addons, smtp, trash) was already spec-valid. This PR's own CI run (admin-a11y.cy.js against formidable-settings) is the self-test for the fix.

Closes Strategy11/formidable-pro#6701

The <label> toggling each payment gateway section sits inside a
role="tablist" container but carried aria-selected with no role of
its own — invalid per WAI-ARIA (aria-selected is only valid on
option/tab/row/gridcell/treeitem/columnheader/rowheader). Add
role="tab" so the attribute is valid for its element.

Fixes Strategy11/formidable-pro#6701
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: a795e4a0-def7-4626-a8ed-d493f696bdd5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vivi-the-going-merry vivi-the-going-merry Bot added run analysis run e2e tests Run the Cypress end-to-end suite on this PR run tests labels Sep 18, 2026
@deepsource-io

deepsource-io Bot commented Sep 18, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in e404085...85c9537 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
PHP Sep 18, 2026 12:17a.m. Review ↗
JavaScript Sep 18, 2026 12:17a.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@Crabcyborg Crabcyborg added this to the 6.36 milestone Sep 18, 2026

@Crabcyborg Crabcyborg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

🚀

@Crabcyborg
Crabcyborg merged commit 9dce48f into master Sep 18, 2026
51 of 65 checks passed
@Crabcyborg
Crabcyborg deleted the fix/issue-6701-aria-selected-invalid-role branch September 18, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

franky-review run analysis run e2e tests Run the Cypress end-to-end suite on this PR run tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant