Time Input Display (12h vs 24h)
- Dominant language
- TypeScript
- Stars
- 38
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Currently, Web Forms defaults to a 12h format for the time question type, whereas Enketo and Collect derive the format from the container's locale (Browser or Android OS).
There is often a disconnect between official standards and societal reality. Many countries officially use the 24h system, but daily society (e.g., parts of Latin America and Asia) operates almost exclusively in 12h. Depending on the data collector and the specific collection context, an unfamiliar format can create extra cognitive load due to "mental math" (e.g., converting 17:00 to 5:00 PM), lowering the user experience and potentially increasing entry errors.
#### Implementation Options:
- Use an "appearance" attribute in the form definition to allow form designers to manually set the format. This is a "quick win" that provides immediate flexibility and bypasses the complexities of locale-detection logic.
- Rely strictly on browser/OS locales to align more closely with existing Enketo and Collect behavior.
#### Next Steps:
- Conduct a quick survey across different industries and regions to determine which format minimizes cognitive load in specific field environments.
- Monitor the forum and other channels to catch feedback related to this topic.
---
### Checklist
- **Does it need UI/UX design?**
- [ ] Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
- [x] No
- **Does it need API design?**
- [ ] Yes. Specify the endpoints, methods, or data structures needed.
- [x] No
- **Does it need design around state flow?**
- [ ] Yes. Outline the state flow requirements.
- [x] No
- **Does it need a test plan?**
- [ ] Yes. Add the test plan as a comment in this task or attach the document.
- [x] No
---
### User Stories
- **As a** data collector,
**I want** to see the time picker in a format I'm familiar,
**so that** I can quickly pick the time without errors.
---
### Additional Notes
- This strictly affects the display format; the underlying saved data remains standardized and unaffected.
---
### Related Issues
- https://github.com/getodk/web-forms/issues/590
- https://github.com/getodk/web-forms/issues/393
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing related issues 590 and 393, then resolve whether the format should be controlled by an appearance attribute or browser and OS locales. The issue also calls for surveying regional usage and monitoring feedback; done means an agreed implementation direction that preserves standardized saved data while changing only time display.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100