Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .Jules/palette.md
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
# Palette Journal

## 2026-01-01 - Explicit Labels over Placeholders
**Learning:** Relying solely on placeholders in auth forms creates a disappearing context for users and fails accessibility standards, even in minimalist designs.
**Action:** Always enforce `label` props on Input components, especially for critical data entry fields like email and password.
3 changes: 3 additions & 0 deletions web/pages/Auth.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ export const Auth = () => {
exit={{ height: 0, opacity: 0 }}
>
<Input
label="Full Name"
placeholder="Full Name"
value={name}
onChange={(e) => setName(e.target.value)}
Expand All @@ -225,6 +226,7 @@ export const Auth = () => {
</AnimatePresence>

<Input
label="Email Address"
type="email"
placeholder="Email Address"
value={email}
Expand All @@ -233,6 +235,7 @@ export const Auth = () => {
className={isNeo ? 'rounded-none' : ''}
/>
<Input
label="Password"
type="password"
placeholder="Password"
value={password}
Expand Down
Loading
Loading