issue: Workspace pages have no headings for screen readers

在使用屏幕阅读器或通过浏览器控制台检查 Open WebUI 的 Workspace 页面(Models、Knowledge、Prompts、Skills、Tools)时,页面内不存在任何 h1–h6 标题元素,导致按标题导航失效、无法确认当前所在页面。优先排查 Workspace 各页面模板中是否

快速结论:在使用屏幕阅读器或通过浏览器控制台检查 Open WebUI 的 Workspace 页面(Models、Knowledge、Prompts、Skills、Tools)时,页面内不存在任何 h1–h6 标题元素,导致按标题导航失效、无法确认当前所在页面。优先排查 Workspace 各页面模板中是否缺少页面级标题元素。

适用环境:Open WebUI dev(63eed95c8);Linux;Firefox;Ollama v0.40.7;Git Clone 安装方式;默认设置;屏幕阅读器 Orca。

最快修复方案:暂无确认的一步修复方案。Issue 未给出已验证的修复步骤,仅确认该问题在 dev 分支上可复现并被标记为 bug / confirmed issue / a11y。

注意事项:本 Issue 已被关闭,但讨论中未提供具体代码改动或验证过的处理方式;下方排查与修复思路为依据现象推断的“可优先尝试”方向,执行前需自行验证。给页面补标题时,应保留现有视觉布局与无障碍语义的一致性,避免引入重复标题或破坏现有样式。

问题场景

用户通过 Git Clone 安装 Open WebUI dev 版本(63eed95c8),在 Linux + Firefox 环境下访问 Workspace 下的 Models、Knowledge、Prompts、Skills、Tools 页面。当使用 Orca 屏幕阅读器按标题导航(Alt+Shift+H 打开标题列表),或在开发者工具控制台查询页面内所有标题元素时,发现结果为空。页面名称仅出现在浏览器标签标题和顶部的分区标签中,而这些分区标签是链接而非标题。聊天页已有隐藏的 “New Chat” 标题用于同类目的,Workspace 页面则没有对应处理。

报错原文

issue: Workspace pages have no headings for screen readers

Actual Behavior: A list of headings on any Workspace page is empty.

[...document.querySelectorAll('h1, h2, h3, h4, h5, h6')].map((h) => `${h.tagName}: ${h.textContent.trim()}`)

The result is an empty list.

原因分析

最可能的原因是 Workspace 各页面在渲染时没有输出任何 h1–h6 标题元素。视觉上的页面名称由顶部标签或浏览器标签标题承担,未以标题语义暴露给辅助技术;顶部标签本身是链接,不能替代标题。因此屏幕阅读器按标题导航时无法定位页面名称,也无法判断当前处于哪个 Workspace 页面。Issue 关联的 #32635(聊天页缺少一级标题)和 #32879(新聊天中的模型名不是标题)表明项目内已存在同类无障碍问题,说明标题语义缺失属于同一类缺陷,而非浏览器或屏幕阅读器本身故障。

环境排查

  • 确认 Open WebUI 版本是否为 dev 分支 63eed95c8 或包含该提交的后续版本;旧版本或未同步的部署可能表现不同。
  • 确认安装方式为 Git Clone,与 Issue 环境一致。
  • 确认浏览器为 Firefox,屏幕阅读器为 Orca;其他浏览器或阅读器组合未经 Issue 验证。
  • 确认使用默认设置,排除自定义主题或插件干扰页面渲染。
  • Ollama 版本 v0.40.7 未直接参与该问题,但 Issue 环境为该版本。

解决步骤

  1. 打开 Workspace > Models,在浏览器开发者工具 Console 中执行上述选择器,确认返回为空列表,以复现问题。
  2. 依次在 Knowledge、Prompts、Skills、Tools 页面重复上述检查,确认这些页面同样没有标题元素。
  3. 可优先尝试在 Workspace 各页面的模板或组件中增加页面级标题元素(如 h1),内容使用对应页面名称;若担心视觉布局,可参考聊天页已有的隐藏 “New Chat” 标题做法,采用仅对辅助技术可见的方式实现。
  4. 修改后重新加载各 Workspace 页面,再次执行 Console 选择器,确认不再返回空列表。
  5. 如问题仍未解决,在对应仓库中跟进该 Issue 或关联的 #32911,确认是否有后续修复提交。

验证方法

在 Workspace 各页面重新执行 [...document.querySelectorAll('h1, h2, h3, h4, h5, h6')] 选择器,应返回包含页面名称的标题元素;使用 Orca 按 Alt+Shift+H 打开标题列表,应能看到对应页面名称的标题,并能据此判断当前所在页面。

参考来源

open-webui/open-webui #32910

open-webui/open-webui #32635(关联:聊天页缺少一级标题)

open-webui/open-webui #32879(关联:新聊天中的模型名不是标题)

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29689

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注