From ceb03f8b5b813b0ddfd600803531a229ddd6c72f Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Wed, 15 Apr 2026 09:57:48 -0700 Subject: [PATCH] =?UTF-8?q?fix(kiwi-a11y):=20ND/calm-UX=20policy=20fixes?= =?UTF-8?q?=20=E2=80=94=20deficit=20language,=20wildcard=20styling,=20depl?= =?UTF-8?q?etion=20framing=20(#42=20#46=20#47=20#80-M)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #42: Replace deficit framing — "You'd need:" → "To complete this recipe:", element_gaps card-warning → card-secondary, missing/gap chips status-warning → status-info, "Your pantry is missing..." → "These would expand your options:" - #46: Add activeNutritionFilterCount computed; show count in Advanced filters summary when filters are active so it's visible while collapsed - #47: Wildcard confirmation status-warning → status-info, copy updated to calm framing; wildcard recipe card badge status-warning → status-info - M1: Add re-search hint below Hard Day Mode toggle when results are already showing - M8: Move swap candidates collapsible to after directions/steps section - L2: Add autocomplete="off" to filter search, constraint, and allergy text inputs - L5: Add title="This is an affiliate link" disclosure to grocery affiliate links Items already correct (no change needed): - M2: Level description already always visible via activeLevel computed - M3: Rate limit copy already using calm framing - M5: No-results copy already calm - M6: levelLabels already uses full names - M7: "that's part of the fun" was part of the wildcard copy fixed under #47 - L1: Neon/konami handler not present in this file --- frontend/src/components/RecipesView.vue | 72 ++++++++++++++----------- 1 file changed, 42 insertions(+), 30 deletions(-) diff --git a/frontend/src/components/RecipesView.vue b/frontend/src/components/RecipesView.vue index 06f55f2..bf8101f 100644 --- a/frontend/src/components/RecipesView.vue +++ b/frontend/src/components/RecipesView.vue @@ -80,8 +80,8 @@ -
- The AI will freestyle recipes from whatever you have. Results can be unusual — that's part of the fun. +
+ Wildcard mode lets the AI get creative with whatever you have on hand. Results might surprise you.
@@ -159,6 +163,7 @@ aria-describedby="allergy-hint" @keydown="onAllergyKey" @blur="commitAllergyInput" + autocomplete="off" /> No recipes containing these ingredients will appear.
@@ -194,7 +199,7 @@
- Advanced filters + Nutrition Filters{{ activeNutritionFilterCount > 0 ? ` (${activeNutritionFilterCount} active)` : '' }} @@ -313,13 +318,13 @@ -
-

Your pantry is missing some flavor elements:

+
+

These would expand your options:

{{ gap }}
@@ -331,6 +336,7 @@ v-model="filterText" placeholder="Search recipes or ingredients…" aria-label="Filter recipes" + autocomplete="off" />