You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Sanity图片数组中每张图片添加Alt文本字段?代码无效求助

排查Sanity图片数组中Alt文本字段不显示的问题

问题原因

你的Schema语法本身没有错误,看不到Alt文本字段是因为Sanity Studio的默认行为:

  • 当数组项直接使用image类型时,编辑器默认只展示图片缩略图,自定义添加的alt字段会被隐藏在图片的详情编辑面板中,不会直接显示在数组列表里。

解决方案

方案1:使用默认编辑流程(无需修改Schema)

在Sanity Studio中点击数组里的图片项,右侧会自动弹出详情面板,在面板里就能找到并编辑Alternative text字段。

方案2:修改Schema,在数组列表中直接显示Alt字段

如果期望在数组列表里直接看到并编辑Alt文本,需要将image包裹在object类型中,同时配置preview来自定义数组项的展示样式:

{
  name: 'images',
  title: 'Images',
  type: 'array',
  of: [
    {
      name: 'imageWithAlt',
      type: 'object',
      title: 'Image with Alt Text',
      fields: [
        {
          name: 'image',
          type: 'image',
          title: 'Image',
          options: { hotspot: true }
        },
        {
          name: 'alt',
          type: 'string',
          title: 'Alternative Text',
          // 可选:设置为必填字段
          validation: Rule => Rule.required().error("Alt text is required for accessibility")
        }
      ],
      preview: {
        select: {
          imageUrl: 'image.asset.url',
          alt: 'alt'
        },
        prepare(selection) {
          const { imageUrl, alt } = selection;
          return {
            title: alt || 'No alt text provided',
            media: imageUrl ? { src: imageUrl } : null
          };
        }
      }
    }
  ]
}

修改后,数组列表会同时显示图片缩略图和Alt文本输入框,编辑体验更直观。

内容的提问来源于stack exchange,提问作者jamesrogers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:35:06