fix(accessibility): Correct heading hierarchy and identical links

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 <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-27 16:45:38 -06:00
parent 0a303be198
commit 281c05fa33
3 changed files with 6 additions and 6 deletions

View File

@@ -371,7 +371,7 @@ final class ContactFormRenderer implements RendererInterface
$html .= '<div class="d-flex align-items-start mb-3">';
$html .= '<i class="bi bi-telephone-fill me-3 fs-5 contact-icon"></i>';
$html .= '<div>';
$html .= sprintf('<h6 class="mb-1 info-label">%s</h6>', esc_html($phoneLabel));
$html .= sprintf('<span class="d-block mb-1 info-label fw-semibold">%s</span>', esc_html($phoneLabel));
$html .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($phoneValue));
$html .= '</div>';
$html .= '</div>';
@@ -380,7 +380,7 @@ final class ContactFormRenderer implements RendererInterface
$html .= '<div class="d-flex align-items-start mb-3">';
$html .= '<i class="bi bi-envelope-fill me-3 fs-5 contact-icon"></i>';
$html .= '<div>';
$html .= sprintf('<h6 class="mb-1 info-label">%s</h6>', esc_html($emailLabel));
$html .= sprintf('<span class="d-block mb-1 info-label fw-semibold">%s</span>', esc_html($emailLabel));
$html .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($emailValue));
$html .= '</div>';
$html .= '</div>';
@@ -389,7 +389,7 @@ final class ContactFormRenderer implements RendererInterface
$html .= '<div class="d-flex align-items-start">';
$html .= '<i class="bi bi-geo-alt-fill me-3 fs-5 contact-icon"></i>';
$html .= '<div>';
$html .= sprintf('<h6 class="mb-1 info-label">%s</h6>', esc_html($locationLabel));
$html .= sprintf('<span class="d-block mb-1 info-label fw-semibold">%s</span>', esc_html($locationLabel));
$html .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($locationValue));
$html .= '</div>';
$html .= '</div>';

View File

@@ -312,7 +312,7 @@ final class RelatedPostRenderer implements RendererInterface
$html .= '<div class="card h-100">';
$html .= '<div class="card-body d-flex align-items-center justify-content-center">';
$html .= sprintf(
'<h5 class="card-title h6 mb-0 text-center">%s</h5>',
'<span class="card-title d-block h6 mb-0 text-center">%s</span>',
esc_html($title)
);
$html .= '</div>';

View File

@@ -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"
}
}
},