如何通过Google Forms API为图片设置alt text?
问题:Google Forms API无法为测验图片设置显示文本
我用Google Forms API创建带图片的测验,创建流程没问题,但给图片设置的altText既不显示在图片上,也没作为标题出现。我的batchRequest代码如下:
"createItem": { "item": { "questionItem": { "image": { "altText": "foo", "sourceUri": "https://pathtomyimage" }, "question": { "choiceQuestion": { "options": [{ "value": "A" }, { "value": "B" }, { "value": "C" }, { "value": "D" }], "type": "RADIO" }, "grading": { "correctAnswers": { "answers": [{ "value": "B" }] }, "pointValue": 1 }, "required": true } }, "title": "Question 1" }, "location": { "index": 0 } }
之前用Apps Script的时候,我们是通过ImageItem的addHelpText方法实现类似的显示效果。
解决办法
首先要明确两个字段的区别:
altText是无障碍替代文本,仅提供给屏幕阅读器等辅助工具使用,不会在表单界面上直观显示。- 如果你要实现像Apps Script里
addHelpText那样在界面显示图片说明的效果,需要在question对象里添加helpText字段。
修改后的batchRequest示例:
"createItem": { "item": { "questionItem": { "image": { "altText": "foo", // 这个是给无障碍工具用的,不显示在界面 "sourceUri": "https://pathtomyimage" }, "question": { "choiceQuestion": { "options": [{ "value": "A" }, { "value": "B" }, { "value": "C" }, { "value": "D" }], "type": "RADIO" }, "grading": { "correctAnswers": { "answers": [{ "value": "B" }] }, "pointValue": 1 }, "required": true, "helpText": "foo" // 这个会显示在问题区域下方,对应原来的addHelpText效果 } }, "title": "Question 1" }, "location": { "index": 0 } }
总结:
- 要让文本在界面显示,用
helpText; - 要给无障碍工具提供图片描述,保留
altText即可,它不会在页面上显示。
内容的提问来源于stack exchange,提问作者patrickdavey
相关产品推荐
相关产品推荐

