getodk / getodk/web-forms

Time Input Display (12h vs 24h)

Open
#670 0 comments 0 reactions 0 assignees View on GitHub
front-end quick win
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.