Skip to content

Formidable logo in SMTP/upgrade header is an unlabeled decorative SVG (svg_graphics_labelled) #3428

Description

@franky-the-going-merry

FrmAppHelper::show_logo() (classes/helpers/FrmAppHelper.php:347) echoes svg_logo()'s raw markup directly, with no aria-hidden and no accessible name. It's called from two places that render it next to icons that do have accessible names:

  • classes/models/FrmSolution.php:297 (header(), inside .frm-smtp-logos) — the two sibling icons rendered right after it (frm_arrow_right_icon, frm_wordpress_icon) both get an explicit aria-label ('Install', 'WordPress'). The Formidable logo itself gets none.
  • classes/controllers/FrmSMTPController.php:165 — same call, same missing label.

A screen reader announces an unlabeled graphic for the Formidable logo on this screen — the same svg_graphics_labelled-shaped failure #3423 just fixed for show_header_logo()'s admin-chrome logo, in a sibling method of the same helper class (show_logo()/svg_logo()) that PR didn't touch.

Fix: since show_logo() is a generic helper (not scoped to a single always-linked context the way show_header_logo() is), the safer fix is likely an aria-hidden="true" on svg_logo()'s own markup directly (it's always decorative — every current caller renders it next to its own label or inside a context where the logo itself conveys no unique information) rather than requiring each caller to add one. Confirm no caller currently relies on the logo being announced before making it aria-hidden unconditionally.

Found during re-review of #3423 (generalization check across the repo for the same pattern). Not part of that PR's diff, so filed separately rather than blocking it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions