From 281c05fa33ca9bbd0d00932444788bbeaf601902 Mon Sep 17 00:00:00 2001 From: FrankZamora Date: Thu, 27 Nov 2025 16:45:38 -0600 Subject: [PATCH] fix(accessibility): Correct heading hierarchy and identical links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 4.4 Accessibility fixes: - ContactFormRenderer: Change h6 info-labels to span (WhatsApp, Email, Location) - RelatedPostRenderer: Change h5 card-title to span (semantic hierarchy) - top-notification-bar schema: Change link_url default from # to /suscripcion-vip (identical links must have same destination) Fixes: "Headings not in sequential order" and "Identical links have different purposes" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../ContactForm/Infrastructure/Ui/ContactFormRenderer.php | 6 +++--- .../RelatedPost/Infrastructure/Ui/RelatedPostRenderer.php | 2 +- Schemas/top-notification-bar.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Public/ContactForm/Infrastructure/Ui/ContactFormRenderer.php b/Public/ContactForm/Infrastructure/Ui/ContactFormRenderer.php index 879ca7e3..86096dcf 100644 --- a/Public/ContactForm/Infrastructure/Ui/ContactFormRenderer.php +++ b/Public/ContactForm/Infrastructure/Ui/ContactFormRenderer.php @@ -371,7 +371,7 @@ final class ContactFormRenderer implements RendererInterface $html .= '
'; $html .= ''; $html .= '
'; - $html .= sprintf('
%s
', esc_html($phoneLabel)); + $html .= sprintf('%s', esc_html($phoneLabel)); $html .= sprintf('

%s

', esc_html($phoneValue)); $html .= '
'; $html .= '
'; @@ -380,7 +380,7 @@ final class ContactFormRenderer implements RendererInterface $html .= '
'; $html .= ''; $html .= '
'; - $html .= sprintf('
%s
', esc_html($emailLabel)); + $html .= sprintf('%s', esc_html($emailLabel)); $html .= sprintf('

%s

', esc_html($emailValue)); $html .= '
'; $html .= '
'; @@ -389,7 +389,7 @@ final class ContactFormRenderer implements RendererInterface $html .= '
'; $html .= ''; $html .= '
'; - $html .= sprintf('
%s
', esc_html($locationLabel)); + $html .= sprintf('%s', esc_html($locationLabel)); $html .= sprintf('

%s

', esc_html($locationValue)); $html .= '
'; $html .= '
'; diff --git a/Public/RelatedPost/Infrastructure/Ui/RelatedPostRenderer.php b/Public/RelatedPost/Infrastructure/Ui/RelatedPostRenderer.php index 075fd12e..2d2dcc1c 100644 --- a/Public/RelatedPost/Infrastructure/Ui/RelatedPostRenderer.php +++ b/Public/RelatedPost/Infrastructure/Ui/RelatedPostRenderer.php @@ -312,7 +312,7 @@ final class RelatedPostRenderer implements RendererInterface $html .= '
'; $html .= '
'; $html .= sprintf( - '
%s
', + '%s', esc_html($title) ); $html .= '
'; diff --git a/Schemas/top-notification-bar.json b/Schemas/top-notification-bar.json index 51441dd9..9fbd590b 100644 --- a/Schemas/top-notification-bar.json +++ b/Schemas/top-notification-bar.json @@ -92,11 +92,11 @@ "link_url": { "type": "url", "label": "URL del enlace", - "default": "#", + "default": "/suscripcion-vip", "editable": true, "required": true, "placeholder": "https://", - "description": "URL de destino del enlace" + "description": "URL de destino del enlace. Fase 4.4: Debe coincidir con otros CTAs del mismo texto" } } },