Add option to use a single header HTML structure for both desktop and mobile
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- accessibility, frontend, performance, web-dev
Línea de trabajo
Comienza siguiendo la configuración de Header Builder Customizer y los puntos de entrada del renderizado para desktop/mobile. Compara la capacidad existente de single-layout de Footer Builder para identificar la configuración y el comportamiento esperados. Se considera terminado cuando el nuevo toggle mantiene el renderizado separado de forma predeterminada, emite condicionalmente una única estructura de header y mantiene el funcionamiento del toggle móvil o del comportamiento de hamburger.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Impact: 75 · Confidence: 95 · Complexity: 75
Description
Problem
The Neve Header Builder currently outputs separate HTML nodes for the desktop and mobile header views, hiding the inactive view via CSS. This creates duplicated HTML elements (logos, navigation menus, buttons) which inflates the DOM size, affects page weight, and can create duplicate accessibility text/links for screen readers.
Desired Behavior
Provide a Customizer setting (e.g., "Use desktop header layout on mobile") that allows users to render only a single set of header HTML. When enabled, the theme should rely purely on responsive CSS to handle the transition to mobile layout, eliminating the secondary mobile-specific HTML wrapper entirely. This should mirror the capability currently available in the Neve Footer Builder.
Acceptance Criteria
- Add a toggle in the Header Builder settings to apply the desktop layout/HTML to mobile devices.
- When enabled, the builder conditionally skips rendering the mobile header wrapper and outputs only one unified header structure.
- Ensure mobile toggle/hamburger behaviors continue to function seamlessly when inheriting the desktop header HTML.
- Maintain current separate-node rendering as the default to ensure backwards compatibility for existing sites.
Customer Context
An intermediate-level pro user is requesting a way to prevent duplicate header DOM nodes to optimize page performance and SEO/accessibility metrics. They note the footer builder already allows using one layout across devices and they desire the same functionality for the header builder to reduce DOM complexity.
Root Cause Analysis
The root cause is an architectural decision in Neve's Header Builder to render specific DOM structures for distinct device views (Desktop vs. Mobile) to allow full flexibility in building completely different headers per device. While this enables high customizability, it forces users with simpler header designs to carry the performance penalty and accessibility confusion of duplicated DOM elements that are simply display-toggled via CSS. The gap is the lack of a capability to opt out of this device-split rendering in favor of a single, purely CSS-responsive DOM tree.
Reasoning
The customer has identified a legitimate optimization gap in the Neve Header Builder. Rendering separate HTML branches for desktop and mobile increases DOM size and can cause duplicate accessibility text or navigation links. The request to optionally mirror the desktop header HTML on mobile—relying on responsive CSS instead of duplicated nodes—is well-reasoned and aligns with performance best practices.
Source: HelpScout #3383993106
Generated by feature-request-triage workflow (ID: feature-request-triage_6a5349954b5fe5.70064094)
- Lenguaje dominante
- PHP
- Estrellas
- 307
- Forks
- 88
- Merge medio
- 2 d 21 h
- PR fusionados (30 d)
- 15
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Codeinwp/neve
-
Customizer responsive sanitizer fatals when input is an arrayPosiblemente ocupada @HardeepAsrani la tomó hace 8 días. Abiertobug-report bug-report-triage crash-report
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Codeinwp/neve#4651 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Customizer controls script throws when WooCommerce is inactive and an Elementor shop template exists (woocommerce_product_catalog section missing)Posiblemente ocupada @girishpanchal30 la tomó hace 4 días. Abiertobug-report bug-report-triage customer report
Codeinwp/neve#4653 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Duplicate H1: hidden screen-reader title H1 rendered alongside custom layout H1 when page title is hiddenPosiblemente ocupada @HardeepAsrani la tomó hace 5 días. Abiertobug-report bug-report-triage customer report
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
Codeinwp/neve#4652 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
feature-request-triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
feature-request-triage
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de Codeinwp/neve
Issues similares
-
PHP workflow streaming requests buffer the full SSE responsePosiblemente ocupada @Winoren la tomó hoy. Abiertoreview: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
langgenius/dify#44270 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug customer-reported
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
MagnaCapax/PMSS#1085 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
nunomaduro/collision#375 ·
-
enhancement good first issue hacktoberfest help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
thetheago/laravel-seeder-versioning#19 ·
Los mantenedores suelen responder en 1 día