Tighten Foundry plugin modal: wider, crisper, collapsibles for Prereqs/MCP/Skills#310
Tighten Foundry plugin modal: wider, crisper, collapsibles for Prereqs/MCP/Skills#310
Conversation
User feedback: card was too long, not wide enough, and overwhelming.
## Layout changes
- Modal max-width: 560px → 720px (more room for prompt examples)
- Modal content max-height: 88vh with overflow-y: auto so it scrolls if tall
## Content changes
**Visible above the fold (primary actions):**
- Title + version badge
- Tightened description (one short sentence)
- Install (2 commands, unchanged)
- Try this — 4 short user prompts in a clean bulleted list (was 5 long ones with route-to annotations)
**Collapsed by default (using native <details>/<summary>):**
- Prerequisites — Foundry project, Azure CLI, azd CLI (with install links opening in new tabs)
- 3 MCP servers bundled — Azure MCP, Foundry MCP, Microsoft Docs
- 11 skills (orchestrator + 10 sub-skills) — one-line descriptions per skill
Each collapsible has a + indicator that flips to − when expanded.
## Why this works better
- First impression: 'what is it' + 'how do I install' + 'what should I try' — no scrolling needed
- Power users can drill into prereqs/MCPs/skills without losing the overview
- Each prompt is now bite-sized ('Build a hosted agent grounded on my product docs') instead of the verbose 'routes to X + Y' annotations
- Wider modal removes mid-sentence wrapping in the prompt examples
## Implementation
- Replaced 3 always-expanded modal-section blocks (Prereqs/MCP/Skills) with <details class='modal-details'>
- Added .modal-details, .modal-details-summary, .modal-details-content, .modal-prompts CSS
- Removed the Getting Started prompt 'route to' annotations — the orchestrator skill explains routing; the modal just needs to inspire
- Build verified with npm run build (prebuild + astro build + postbuild succeeded; postbuild restored llms.txt etc.)
thegovind
left a comment
There was a problem hiding this comment.
Review summary
UI tightening of the Foundry plugin modal — wider, collapsibles for low-priority sections, crisper above-the-fold. Clean change, well-described. A couple of small a11y/UX considerations.
Issues
🟡 Recommended
<details>accessibility on iOS/Safari modal stacking. Native<details>works, but inside a<dialog>element on some Safari/iOS versions the<summary>can swallow focus or fail to announce expanded state. Worth a quick test on iOS Safari + VoiceOver before merge — if behavior is off, addaria-expandedsyncing via a tinytogglelistener on<details>. If it's fine, ignore this.- First-tab focus. When the dialog opens, the first focusable element is now the close button (
×) in the header. Not bad, but consider moving initial focus to the title/heading region (tabindex="-1"+focus()) so screen reader users hear the title before the close affordance. Same change keeps keyboard users from accidentally dismissing on the very first Enter. - Keyboard expand-all. Power users opening the modal often want to read everything. With three
<details>collapsed by default, that's three extra clicks. Consider an "Expand all / Collapse all" link in the header (or persist the open state per-section tolocalStorage). Minor — fine to defer.
🟢 Nits
- The committed
docs/index.htmlanddocs/_astro/index.wDopByTC.cssare Astro build outputs. If GitHub Pages serves directly fromdocs/, that's intentional and fine. If not, consider moving the build-output commit to a separate publish workflow so source-only PRs stay focused ondocs-site/. - Modal
max-width: 720pxis good for desktop; double-check the modal still feels right at ~360px viewport (the prompt list shouldn't crowd against the close button).
Otherwise looks good — small, focused, ships a clear UX win.
|
Quick follow-up to my earlier review — found one more real bug while re-reading the CSS: 🔴 Nested
|
User feedback after #309 merged: the Foundry plugin modal is too long, not wide enough, and overwhelming. This rewrites the modal layout to surface the primary actions and tuck the reference content behind native HTML disclosure widgets.
Layout changes
max-height: 88vhwithoverflow-y: autoso it scrolls if the user expands everythingContent changes
Visible above the fold (primary actions):
Collapsed by default (using native
<details>/<summary>):Each collapsible has a
+indicator that flips to−when expanded; hover turns the summary text accent-colored.Why this works
Verification
npm run build(prebuild + astro build + postbuild) succeedsmodal-details,modal-prompts, 'Try this', '3 MCP servers bundled', '11 skills'max-width: 720pxshows up in the bundled CSS