-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
📘 Groups & Repeats in ODK Web Forms
This page documents how Groups and Repeats work in ODK Web Forms, and provides technical notes, list of forms, known issues, and a changelog for these features.
💡 Key assumptions
New containers for groups and repeats
- A top level container always has an outline weather its a group or repeat
- Repeat instances always have the darker container regardless of whether they're at the top level or nested
- Groups have a light container if they are at the top level
- Repeat number is next to the overflow button for delete/removing repeat
Repeats not in a group
- Dark section header (without outlining the entire section)
Flat structure (no indenting/nesting)
- Flat design will make it easier to read as everything is left aligned.
Buttons
- Repeat instance uses a primary button
- Nested repeats uses secondary button to create a distinction
🔍 For more details check: #379
📦 Feature Support Matrix
Feature | Supported | Notes |
---|---|---|
Nested groups | ✅ | |
Nested repeats | ✅ | |
Groups inside repeats | ✅ | |
Repeats inside groups | ✅ | |
Dynamic repeat count | ✅ | |
field-list appearance |
✅ |
🧪 List of Forms to use
Standard Repeats
- Repeat Group Label.xlsx
- Anotherexample.xlsx
Nested Repeats
- nested-repeats.xml
- Anotherexample.xlsx
🐞 Known Issues
ID | Issue | Description | Status | Link |
---|---|---|---|---|
#1 | Example Bug | Description for example bug | Open | #345 |
🔍 Check ODK GitHub issues for more reports: https://github.com/getodk/web-forms/issues
🎨 Design Changes and Decisions
🛠️ Changelog
📌 v5.51.1 – 2025-08-10
- ✅ Fixed:
field-list
and repeat interaction bug - ✅ Improved screen reader support for nested groups
- 🛠 Refactored repeat rendering logic
📌 v5.50.0 – 2025-07-15
- ➕ Improved support for mobile repeat layouts
- ⚠ Regression: Repeat entries not saved on validation error
📌 v5.48.2 – 2025-05-01
- Initial implementation of dynamic
repeat_count
updates
📥 Resources
latin-panda
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo