Skip to content

Organize lexicon search filters#542

Merged
dcellison merged 1 commit into
mainfrom
lexicon_filter_layout
Jul 23, 2026
Merged

Organize lexicon search filters#542
dcellison merged 1 commit into
mainfrom
lexicon_filter_layout

Conversation

@dcellison

Copy link
Copy Markdown
Owner

Summary

  • separate the search-field scope from the result facets so the controls have an intentional hierarchy
  • arrange part of speech, semantic domain, module, and pillar in a stable two-column desktop grid and a one-column mobile grid
  • give every facet a visible label and place clear in a fixed heading above them
  • correct Phi word to phi word

Interface

The query scope now sits directly beneath the search box under search in. The four narrowing controls belong to a labelled filter by group. Their default options read simply any, since the visible labels already identify what each selector controls.

The grid uses explicit breakpoints rather than flex wrapping. Desktop columns remain equal and aligned; at 560 pixels and below, the controls form one full-width column. Long module and domain choices stay within their cells, and the complete page remains free of horizontal overflow at 320 pixels.

The clear button stays at the upper right of the facet group. Keyboard focus uses the same visible gold outline as the paginator. Registered-compound searches continue to disable all four word-only facets, and their complete labelled controls now dim together.

The separate Humanizer and voice pass removed the mechanical repetition between labels and default choices. For example, semantic domain now appears once as the label while its default choice is the plain any.

Checks

  • python3 scripts/validate_examples.py --show-warnings (1,275 entries; 0 errors; 0 warnings)
  • python3 scripts/test_vocabulary_schema.py (22 tests)
  • python3 scripts/content_vocabulary_decisions.py --check (64 batches; 236 decisions)
  • python3 scripts/test_content_vocabulary_decisions.py (8 tests)
  • python3 scripts/test_name_forms.py (20 tests)
  • phonetic-neighbour baseline regenerated and compared with no diff
  • python3 scripts/generate_reference.py
  • python3 scripts/build_site.py
  • node --check site/app.js
  • git diff --check
  • existing headless Chromium pagination regression probe at 1280 x 900 and 320 x 700
  • dedicated headless Chromium filter probe covering labels, two-column and one-column geometry, clearing, URL reset, compound-only disabling, keyboard focus, and horizontal overflow
  • visual inspection of desktop and mobile renders

@dcellison
dcellison merged commit 7af0f14 into main Jul 23, 2026
1 check passed
@dcellison
dcellison deleted the lexicon_filter_layout branch July 23, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants