Phase 6: QA fixes for Lighthouse and navigation
- Map is a titled iframe (accessibility); drop @next/third-parties - "Services" nav toggle is a real button with aria-expanded (SEO crawlable-anchors, accessibility) - Hero images use default quality; page-header image is preloaded (LCP) - Mobile services submenu no longer clips its last item Mobile Lighthouse: / 94/100/100/100, /services/computer-repair 96/100/100/100, /areas/henderson 97/100/100/100, /contact 95/100/100/100 (performance/accessibility/best practices/SEO). Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
4d901b351e
commit
275bce3b87
7 files changed
+23
-33
No files matched your search
@@ -87,13 +87,15 @@ export default function Navbar() {
|
||||
data-state={isDropdownActive ? "open" : "close"}
|
||||
className="flex items-center justify-center gap-1 [&[data-state=open]>svg]:rotate-180"
|
||||
>
|
||||
<a
|
||||
<button
|
||||
type="button"
|
||||
aria-expanded={isDropdownActive}
|
||||
className={`${styles.dropdownTitle}
|
||||
${pathname === "/services" ? styles.active : ""}`}
|
||||
${pathname.startsWith("/services") ? styles.active : ""}`}
|
||||
onClick={handleDropdownToggle}
|
||||
>
|
||||
Services
|
||||
</a>
|
||||
</button>
|
||||
<ChevronDownIcon className="text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" />
|
||||
</div>
|
||||
<ul className={styles.dropdownMenu}>
|
||||
|
||||
Reference in new issue
Block a user