From 56cc03ed77a38de89bb349d5e609b7c8b6225413 Mon Sep 17 00:00:00 2001 From: Aaron Meyer Date: Thu, 27 Aug 2026 08:27:59 -0700 Subject: [PATCH 1/3] Fix accessibility issues: heading hierarchy, icon link names, focus states - Add missing elements to icon symbols so icon-only links (GitHub, Home, Mastodon, ORCID, Twitter) have accessible names - Give the homepage nav link a real "Home" label instead of "/" - Add aria-current="page" to the current nav item, matched by URL instead of by title so it survives the label change - Give every page layout a single <h1> and correct the resulting heading order (team, publications, tag, contact, research/industry) - Convert the publication abstract "[Abstract]" toggle from a bare <a href="#"> to a real <button> with aria-expanded/aria-controls - Add lang="en-US" to the 404 page - Make the team page's former-members list visible without JS, and expose alumni filter state via aria-pressed Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018Ti6piqbtTg9j7XgeDmwCu --- assets/css/main.scss | 14 +++++++++++++ content/_index.md | 2 +- content/contact/index.md | 10 ++++----- content/publications/examples.md | 4 ++-- content/research/industry.md | 4 ++-- data/links.yml | 2 +- layouts/404.html | 2 +- layouts/_default/baseof.html | 12 +++++------ layouts/_default/list.html | 2 +- layouts/_default/page.html | 2 +- layouts/_default/single.html | 1 + layouts/_default/taxonomy.html | 2 +- layouts/index.html | 4 ++-- layouts/partials/head.html | 2 +- layouts/partials/icons.html | 5 +++++ layouts/partials/navigation.html | 5 +++-- layouts/partials/pubentry.html | 2 +- layouts/publications/single.html | 4 ++-- layouts/research/list.html | 2 +- layouts/tag/term.html | 2 +- layouts/team/single.html | 35 +++++++++++++++++++------------- 21 files changed, 72 insertions(+), 46 deletions(-) diff --git a/assets/css/main.scss b/assets/css/main.scss index 061d10d..9bd6eb8 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -118,6 +118,20 @@ footer { &:hover { color: $azul-accent-color; }}} +.abstract-toggle { + background: none; + border: none; + padding: 0; + margin: 0; + font: inherit; + cursor: pointer; + color: darken($azul-accent-color, 22%); + + &:hover { + color: $azul-accent-color; + } +} + /*----------------------------------------------------------------------------*/ .highlight { diff --git a/content/_index.md b/content/_index.md index 2aa623f..e144d39 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,3 +1,3 @@ --- -title: / +title: Home --- diff --git a/content/contact/index.md b/content/contact/index.md index a9aacee..0cb5fbd 100644 --- a/content/contact/index.md +++ b/content/contact/index.md @@ -2,26 +2,26 @@ title: Contact/Operations --- -### Opportunities +## Opportunities We welcome applications from qualified candidates at all levels. To ensure that we get to know you, [we have created a form with a few simple questions](https://forms.gle/JLt7gtaPHywepNvD8). Please note that we are unable to respond to individual email inquiries about positions. -### Operations +## Operations [Our lab manual](https://docs.google.com/document/d/15Mbt8XmpchBY0foGIMyLk0-I3OKYF1tK7XOmuWQhk3o/edit?usp=sharing) contains instructions for getting started in the lab, expectations for members, and other resources such as protocols. [The lab meeting schedule](https://ucla.box.com/s/fhtn0311b1qmw0l73qz3ccbaacq22cqj) can be edited in lab's shared Box folder. <br /> -### Contact +## Contact -#### Packages/Lab +### Packages/Lab Meyer Lab<br /> 410 Westwood Plaza Room #5031<br /> Box 159910<br /> Los Angeles, CA 90095-1599 -#### Mail/Office +### Mail/Office Aaron Meyer<br /> 410 Westwood Plaza Room #4121G<br /> diff --git a/content/publications/examples.md b/content/publications/examples.md index 8ff97a9..7e3ef72 100644 --- a/content/publications/examples.md +++ b/content/publications/examples.md @@ -6,13 +6,13 @@ url: /publications/examples.html These are some especially representative publications of the lab's focus. -### Computational +## Computational These publications have a stronger focus on computational analyses and methods. {{< publist keyword="computational-example" >}} -### Experimental +## Experimental These publications are focused on experimental observations. diff --git a/content/research/industry.md b/content/research/industry.md index 4b6f016..52bfe25 100644 --- a/content/research/industry.md +++ b/content/research/industry.md @@ -5,13 +5,13 @@ title: Industry Consulting & Collaboration Working with UCLA's Institute for Commercialization & Industry Collaboration, our lab offers specialized skills to external parties through a fee-for-service model with greater flexibility as compared to traditional grant mechanisms. -### Multivalent Binding Modeling for Optimizing Therapeutic Designs +## Multivalent Binding Modeling for Optimizing Therapeutic Designs <img src="/research/binding.svg" width="90%" /> Our lab provides advanced multivalent binding modeling services to optimize the design of multi-specific immunotherapeutic agents. Using a flexible framework (detailed in [relevant publications](../binding/)), we accurately model complex agent-target cell interactions, quantitatively characterize receptor engagement dynamics, and predict therapeutic windows. We analyze key design parameters to understand their impact on therapeutic activity and potential toxicity. Our services range from data fitting and analysis of _in vitro_ assays to modeling immune cell interactions _in vivo_. We can deliver comprehensive reports on parameter contributions and provide custom software for analysis reproduction. Working closely with clients from startups to large pharmaceutical organizations, either via grants or work-for-hire, we provide actionable insights to accelerate drug development and improve candidate selection. -### Tensor Modeling and Big Data Exploration +## Tensor Modeling and Big Data Exploration <img src="/research/RISE.svg" width="100%" /> diff --git a/data/links.yml b/data/links.yml index 3973fc2..f8f441d 100755 --- a/data/links.yml +++ b/data/links.yml @@ -1,5 +1,5 @@ - url: / - title: / + title: Home - url: /team title: Team diff --git a/layouts/404.html b/layouts/404.html index 4b1bd55..ee1dcd1 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,5 +1,5 @@ <!doctype html> -<html> +<html lang="en-US"> <head> {{ partial "head.html" . }} </head> diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 762fba0..12c3295 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -7,7 +7,7 @@ {{ partial "icons.html" . }} <div class="container azul"> - <header class="top row gutters{{ if eq .Title "/" }} fadeInLeft animated{{ end }}"> + <header class="top row gutters{{ if .IsHome }} fadeInLeft animated{{ end }}"> <div class="col span_2 center"> <div id="logo"></div> </div> @@ -27,13 +27,11 @@ </div> <script> - function toggle(key) { + function toggle(key, buttonEl) { var element = document.getElementById(key) - if (element.style.display == 'block') { - element.style.display = 'none' - } else { - element.style.display = 'block' - } + var expanded = element.style.display == 'block' + element.style.display = expanded ? 'none' : 'block' + buttonEl.setAttribute('aria-expanded', expanded ? 'false' : 'true') } </script> </body> diff --git a/layouts/_default/list.html b/layouts/_default/list.html index c19efa9..ea0321e 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,6 +1,6 @@ {{ define "main" }} <article class="single row gutters"> - <h2>{{ .Title }}</h2> + <h1>{{ .Title }}</h1> <dl> {{ range .Pages }} <dt><a href="{{ .RelPermalink }}">{{ .Title }}</a></dt> diff --git a/layouts/_default/page.html b/layouts/_default/page.html index 139ea8f..a6d40f7 100644 --- a/layouts/_default/page.html +++ b/layouts/_default/page.html @@ -1,6 +1,6 @@ {{ define "main" }} <article class="single row gutters"> - <h2>{{ .Title }}</h2> + <h1>{{ .Title }}</h1> {{ .Content }} </article> diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 85cc7c7..218f2fc 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,5 +1,6 @@ {{ define "main" }} <article class="single row gutters"> + <h1>{{ .Title }}</h1> {{ .Content }} </article> {{ end }} diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html index 6211bfb..9bb179c 100644 --- a/layouts/_default/taxonomy.html +++ b/layouts/_default/taxonomy.html @@ -1,6 +1,6 @@ {{ define "main" }} <article class="single row gutters"> - <h2>{{ .Title }}</h2> + <h1>{{ .Title }}</h1> <ul> {{ range .Pages }} <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> diff --git a/layouts/index.html b/layouts/index.html index 31b4ce0..1139f68 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,6 +1,6 @@ {{ define "main" }} <article class="single row gutters"> -<h2>Meyer Lab at UCLA</h2> +<h1>Meyer Lab at UCLA</h1> <p> We integrate experimental and computational strategies to measure, model, @@ -11,7 +11,7 @@ <h2>Meyer Lab at UCLA</h2> <br /> <br /> -<h3>News</h3> +<h2>News</h2> {{ range first 13 (where .Site.RegularPages "Section" "news") }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 7b164af..73d651a 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -1,6 +1,6 @@ <!-- meta information --> <meta charset="utf-8"> -{{ if eq .Title "/" -}} +{{ if .IsHome -}} <meta name="description" content="{{ .Site.Params.description }}"> {{- else -}} <meta name="description" content="{{ .Content | plainify | truncate 120 }}"> diff --git a/layouts/partials/icons.html b/layouts/partials/icons.html index 8889265..1e19079 100644 --- a/layouts/partials/icons.html +++ b/layouts/partials/icons.html @@ -1,9 +1,11 @@ <svg style="display: none"> <defs> <symbol id="fa-mastadon" viewBox="0 0 448 512"> + <title>Mastodon + ORCID @@ -15,12 +17,15 @@ + Twitter + GitHub + Home diff --git a/layouts/partials/navigation.html b/layouts/partials/navigation.html index 2c22a98..bfb80a6 100644 --- a/layouts/partials/navigation.html +++ b/layouts/partials/navigation.html @@ -1,6 +1,7 @@ -