Cloze-test exercise where one or more blanks in a sentence or paragraph are replaced by inline input fields. On submission a minimal inline script compares trimmed lowercase input against accepted answers and highlights each blank green (correct) or red (wrong). A retry button resets all inputs.
| Surface | Note |
|---|---|
| meet-stage | Inputs render but JS submit handler may be sandboxed — test in target iframe |
| Renders as a sentence with underline placeholder blanks — no interactivity |
| Field | Type | |
|---|---|---|
| template | string. Sentence with {blank} placeholders marking each gap. | required |
| answers | list[string | list[string]]. Accepted answer(s) per blank in order. A list entry may itself be a list of acceptable alternatives. | required |
| hint | string. Shown below the exercise as a nudge. | optional |
| case_sensitive | boolean (optional, default false). | optional |
{
"type": "fill_in_blank",
"template": "Hello, {{name}}!",
"answers": [
{
"text": "Option A"
},
{
"text": "Option B"
},
{
"text": "Option C"
}
]
}
{
"identifier": "urn:air:a2uicatalog.ai:atom:fill_in_blank",
"displayName": "Fill In Blank",
"type": "application/vnd.a2ui.atom+json",
"url": "https://a2uicatalog.ai/atoms/fill_in_blank",
"capabilities": [
"web",
"apps-script-web"
],
"description": "Cloze-test exercise where one or more blanks in a sentence or paragraph are replaced by inline input fields. On submission a minimal inline script compares trimmed lowercase input against accepted answers and highlights each blank green (correct) or red (wrong). A retry button resets all inputs.",
"representativeQueries": [
"show a cloze-test sentence with inline inputs and correct/wrong highlight on submit",
"cloze-test exercise where one or more blanks in a sentence or paragraph are replaced by inline input",
"render a fill in blank"
]
}
The renderer is open source. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.
git clone https://github.com/a2uicatalog/a2ui
cd apps-script-surface/gas-schema-renderer
clasp push && clasp deploy
Full deploy guide →