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:
@@ -371,7 +371,7 @@ final class ContactFormRenderer implements RendererInterface
|
|||||||
$html .= '<div class="d-flex align-items-start mb-3">';
|
$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 .= '<i class="bi bi-telephone-fill me-3 fs-5 contact-icon"></i>';
|
||||||
$html .= '<div>';
|
$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 .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($phoneValue));
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
@@ -380,7 +380,7 @@ final class ContactFormRenderer implements RendererInterface
|
|||||||
$html .= '<div class="d-flex align-items-start mb-3">';
|
$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 .= '<i class="bi bi-envelope-fill me-3 fs-5 contact-icon"></i>';
|
||||||
$html .= '<div>';
|
$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 .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($emailValue));
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
@@ -389,7 +389,7 @@ final class ContactFormRenderer implements RendererInterface
|
|||||||
$html .= '<div class="d-flex align-items-start">';
|
$html .= '<div class="d-flex align-items-start">';
|
||||||
$html .= '<i class="bi bi-geo-alt-fill me-3 fs-5 contact-icon"></i>';
|
$html .= '<i class="bi bi-geo-alt-fill me-3 fs-5 contact-icon"></i>';
|
||||||
$html .= '<div>';
|
$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 .= sprintf('<p class="mb-0 info-value">%s</p>', esc_html($locationValue));
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|||||||
@@ -312,7 +312,7 @@ final class RelatedPostRenderer implements RendererInterface
|
|||||||
$html .= '<div class="card h-100">';
|
$html .= '<div class="card h-100">';
|
||||||
$html .= '<div class="card-body d-flex align-items-center justify-content-center">';
|
$html .= '<div class="card-body d-flex align-items-center justify-content-center">';
|
||||||
$html .= sprintf(
|
$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)
|
esc_html($title)
|
||||||
);
|
);
|
||||||
$html .= '</div>';
|
$html .= '</div>';
|
||||||
|
|||||||
@@ -92,11 +92,11 @@
|
|||||||
"link_url": {
|
"link_url": {
|
||||||
"type": "url",
|
"type": "url",
|
||||||
"label": "URL del enlace",
|
"label": "URL del enlace",
|
||||||
"default": "#",
|
"default": "/suscripcion-vip",
|
||||||
"editable": true,
|
"editable": true,
|
||||||
"required": true,
|
"required": true,
|
||||||
"placeholder": "https://",
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user