fix(accessibility): Fix cta-post contrast and heading hierarchy

Phase 4.4 Accessibility fixes:
- cta-post: button_text_color from #ffffff to #0E2337 (WCAG AA 4.8:1)
- TableOfContentsRenderer: h4 toc-title changed to span (semantic)
- FooterRenderer: h5 widget-title changed to span (5 instances)

Fixes: "Low contrast on cta-button" and "Headings skip levels"

🤖 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:59:06 -06:00
parent 281c05fa33
commit 1c901ecdf9
3 changed files with 8 additions and 8 deletions

View File

@@ -291,14 +291,14 @@ final class FooterRenderer implements RendererInterface
// Widget 1 // Widget 1
$html .= '<div class="footer-widget footer-widget-menu">'; $html .= '<div class="footer-widget footer-widget-menu">';
$html .= '<h5 class="widget-title">' . $widget1Title . '</h5>'; $html .= '<span class="widget-title d-block h5">' . $widget1Title . '</span>';
$html .= $this->renderMenu('footer_menu_1'); $html .= $this->renderMenu('footer_menu_1');
$html .= '</div>'; $html .= '</div>';
// Widget 1B - Solo si tiene menu asignado // Widget 1B - Solo si tiene menu asignado
if (has_nav_menu('footer_menu_4')) { if (has_nav_menu('footer_menu_4')) {
$html .= '<div class="footer-widget footer-widget-menu footer-widget-1b">'; $html .= '<div class="footer-widget footer-widget-menu footer-widget-1b">';
$html .= '<h5 class="widget-title">' . $widget1bTitle . '</h5>'; $html .= '<span class="widget-title d-block h5">' . $widget1bTitle . '</span>';
$html .= $this->renderMenu('footer_menu_4'); $html .= $this->renderMenu('footer_menu_4');
$html .= '</div>'; $html .= '</div>';
} }
@@ -309,7 +309,7 @@ final class FooterRenderer implements RendererInterface
// Widget 2 // Widget 2
if ($widget2Visible) { if ($widget2Visible) {
$html .= '<div class="footer-widget footer-widget-menu">'; $html .= '<div class="footer-widget footer-widget-menu">';
$html .= '<h5 class="widget-title">' . $widget2Title . '</h5>'; $html .= '<span class="widget-title d-block h5">' . $widget2Title . '</span>';
$html .= $this->renderMenu('footer_menu_2'); $html .= $this->renderMenu('footer_menu_2');
$html .= '</div>'; $html .= '</div>';
} }
@@ -317,7 +317,7 @@ final class FooterRenderer implements RendererInterface
// Widget 3 // Widget 3
if ($widget3Visible) { if ($widget3Visible) {
$html .= '<div class="footer-widget footer-widget-menu">'; $html .= '<div class="footer-widget footer-widget-menu">';
$html .= '<h5 class="widget-title">' . $widget3Title . '</h5>'; $html .= '<span class="widget-title d-block h5">' . $widget3Title . '</span>';
$html .= $this->renderMenu('footer_menu_3'); $html .= $this->renderMenu('footer_menu_3');
$html .= '</div>'; $html .= '</div>';
} }
@@ -325,7 +325,7 @@ final class FooterRenderer implements RendererInterface
// Widget Newsletter // Widget Newsletter
if ($newsletterVisible) { if ($newsletterVisible) {
$html .= '<div class="footer-widget footer-widget-newsletter">'; $html .= '<div class="footer-widget footer-widget-newsletter">';
$html .= '<h5 class="widget-title">' . $newsletterTitle . '</h5>'; $html .= '<span class="widget-title d-block h5">' . $newsletterTitle . '</span>';
$html .= '<p class="newsletter-description">' . $newsletterDesc . '</p>'; $html .= '<p class="newsletter-description">' . $newsletterDesc . '</p>';
$html .= '<form id="roi-newsletter-form" class="newsletter-form">'; $html .= '<form id="roi-newsletter-form" class="newsletter-form">';
$html .= '<input type="hidden" name="action" value="roi_newsletter_subscribe">'; $html .= '<input type="hidden" name="action" value="roi_newsletter_subscribe">';

View File

@@ -384,7 +384,7 @@ final class TableOfContentsRenderer implements RendererInterface
$html = '<div class="toc-container">'; $html = '<div class="toc-container">';
$html .= sprintf( $html .= sprintf(
'<h4 class="toc-title">%s</h4>', '<span class="toc-title d-block h4">%s</span>',
esc_html($title) esc_html($title)
); );

View File

@@ -148,9 +148,9 @@
"button_text_color": { "button_text_color": {
"type": "color", "type": "color",
"label": "Texto boton", "label": "Texto boton",
"default": "#ffffff", "default": "#0E2337",
"editable": true, "editable": true,
"description": "Texto blanco para contraste" "description": "Fase 4.4 Accesibilidad: navy-dark para contraste WCAG AA sobre fondo naranja"
}, },
"button_hover_bg": { "button_hover_bg": {
"type": "color", "type": "color",