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.
FrmAppHelper::show_logo()(classes/helpers/FrmAppHelper.php:347) echoessvg_logo()'s raw markup directly, with noaria-hiddenand 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 explicitaria-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#3423just fixed forshow_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 wayshow_header_logo()is), the safer fix is likely anaria-hidden="true"onsvg_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 itaria-hiddenunconditionally.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.