What’s here (structure & IA)
- Header
- USWDS gov banner with disclosure toggle.
- Global nav (Drupal 10) with two mega tabs:
- Browse by Category: About, Proceedings & Actions, Licensing & Databases, Reports & Research, News & Events, For Consumers.
- Browse by Bureaus & Offices: Consumer, Enforcement, Media, Public Safety, Space, Wireless, Wireline, Offices.
- Search overlay (magnifying glass → collapsible form).
- Hero / Featured
- “August Open Meeting” featured card, image + body, link
/August2025.
- “August Open Meeting” featured card, image + body, link
- Headlines (EDOCS/ECFS driven)
- Collapsible headline items with primary attachments (docx/pdf/txt) and Commissioner statements.
- Access Now (quick links)
- PSIX-ESIX, ECFS, LMS, MAP, EDOCS, ULS, OET-EAS, M&T, FRN/CORES, Auctions, 47 CFR, Budgets.
- Tiles (consumer actions)
- File a Consumer Complaint, File a Public Comment, File a Public Safety Report.
- Events
- Upcoming meetings (CPAAC, CSRIC IX, September Open Commission Meeting).
- Leadership
- Carousel: Brendan Carr (Chairman), Anna M. Gomez, Olivia Trusty.
- People search (“Find People”) form →
/about-fcc/finding-people-fcc. - Footer
- Address & phones (incl. ASL Video Call), FOIA, No Fear Act, Open Gov, Accessibility, VDP, RSS, social links.
Notable implementation details
- Platform: Drupal 10; Views for headlines/events; theme
fcc. - Design system: USWDS classes for banner and patterns; Bootstrap for nav/collapse/carousel.
- Tracking/ops:
- Dynatrace (RUM)
ruxitagentjs_* - GTM
GTM-MR75VS3 - AddToAny share loader
- AudioEye a11y toolbar injection
- Dynatrace (RUM)
- External link policy:
extlinkmodule w/ alert modal (gov disclaimer),rel="noreferrer"unless whitelisted; YouTube excluded from icons. - Assets: Font Awesome 5.13, multiple aggregated CSS/JS files, many images; some
loading="lazy"used.
Quick QA checklist (functional & a11y)
- Nav/tab keyboarding
- Ensure tab focus lands on tab (“Browse by …”), arrow keys cycle,
aria-selected/aria-controlstoggle correctly; Escape collapses menus.
- Ensure tab focus lands on tab (“Browse by …”), arrow keys cycle,
- Mega menu dropdowns
- Each toggle has unique IDs; screen reader announces expanded/collapsed reliably; focus returns on close.
- Search overlay
- Magnifying glass toggles focus into the input; close button X has
aria-label="Close"(it does); ESC closes.
- Magnifying glass toggles focus into the input; close button X has
- Headlines collapsibles
- “Related Materials >” links correctly toggle only their own panel;
aria-expandedupdates; “< See Headline” provides a true back/collapse and returns focus.
- “Related Materials >” links correctly toggle only their own panel;
- Leadership carousel
- There are separate desktop and mobile carousels—verify hidden/visible states aren’t both read by screen readers; ensure controls are keyboard operable and labeled.
- People search
- Input
pattern="^[a-zA-Z ]*$"blocks hyphens, apostrophes, diacritics (e.g., “O’Rourke”, “José”, “Anna-Maria”). Consider allowing[-'.\p{L}](server-side validate too).
- Input
- External link alert
- Confirm alert shows for non-whitelist domains and respects
target/rel.
- Confirm alert shows for non-whitelist domains and respects
- Color contrast / focus
- Verify the yellow top border and light gray text (
#808080) meet WCAG against backgrounds. Ensure visible focus outlines on cards/links.
- Verify the yellow top border and light gray text (
Small, high-impact improvements
- OG/Twitter content quality
og:descriptionis “The United States of America.” → replace with a meaningful FCC description; addtwitter:card,twitter:title,twitter:description.
- Canonical & querystrings
- Add a hard
<link rel="canonical" href="https://www.fcc.gov/">. Your search form posts to/?utm_source=chatgpt.com—consider stripping UTM for canonical pages to avoid dupes.
- Add a hard
- Preconnect critical third parties (marginal perf wins):
<link rel="preconnect" href="https://www.googletagmanager.com" crossorigin> <link rel="preconnect" href="https://static.addtoany.com" crossorigin> <link rel="preconnect" href="https://wsmcdn.audioeye.com" crossorigin> - Defer non-critical
- Most third-party scripts are already async/defer; confirm all marketing/overlay scripts are deferred and don’t block First Paint.
- Image hygiene
- Some hero/feature images are large; ensure responsive
srcset/sizeswhere possible and keeploading="lazy"on below-the-fold assets.
- Some hero/feature images are large; ensure responsive
- ARIA polish
- Make sure collapsible triggers (“Related Materials >”, “See more”) have explicit accessible names describing the target section, not only visual text.
- Link text specificity
- Replace generic “< See Headline” with “Back to: FCC Aims to Overhaul NEPA Process” for better SR navigation.
- Security headers (server-side)
- If not already set:
Content-Security-Policy,Permissions-Policy,Referrer-Policy,X-Content-Type-Options,Strict-Transport-Security.
- If not already set:
Quick links (as wired on page)
- Open Meeting:
/August2025 - ECFS:
/ecfs - EDOCS:
/edocs - ULS:
/uls - CORES (FRN):
/licensing-databases/fcc-registration-commission-registration-system - Consumer complaints:
https://consumercomplaints.fcc.gov/hc/en-us - Public comments:
/ecfs/browse-popular-proceedings
If you want, I can turn this into a one-page QA runbook (test cases + expected ARIA states) or a Lighthouse/perf budget snapshot you can drop into CI.