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

网站异常显示Bootstrap屏幕阅读器信息问题排查求助

问题排查与解决方案

咱们一步步拆解问题,你提到新旧站点HTML源码一致但表现不同,那大概率是逻辑错误或环境兼容性问题,先看最可能的几个点:

1. 先改PHP判断里的低级错误!

这绝对是最可能的根源!看你布局代码里的判断条件:

if($currentpage=="/index.php") { ... }

这里用的是赋值运算符=,不是比较运算符==/===!

每次执行这个if,都会把$currentpage硬改成"/index.php",然后因为非空字符串在PHP里算true,所以这个条件永远成立。后面的每个独立if又会重复这个操作,把$currentpage挨个改成每个页面的路径,最后导致导航项的active状态完全混乱。

旧站点正常,十有八九是旧代码里用的是==做比较,新站点迁移时手滑写成了=。

修复方法:把所有判断里的=换成===(严格比较,推荐):

if($currentpage === "/index.php") {
    // 输出active导航项
} else {
    // 输出普通导航项
}

这样才会真正去对比当前页面的URI和目标路径是否一致。

2. Bootstrap 5的sr-only类已经废弃了!

你新站点用的是Bootstrap 5.0.1,但sr-only这个类在Bootstrap 5里被淘汰了,换成了visually-hidden(如果需要支持键盘聚焦的话用visually-hidden-focusable)。

旧站点如果用的是Bootstrap 4,sr-only是有效的,所以(current)会被隐藏;但新站点用Bootstrap 5,sr-only没有对应的CSS规则,这段文本就直接显示出来了。

修复方法:把所有<span class="sr-only">(current)</span>替换成:

<span class="visually-hidden">(current)</span>

这样在Bootstrap 5里就能正确隐藏这段仅给屏幕阅读器看的文本了。

3. 确认$_SERVER['REQUEST_URI']的真实值

不同部署环境下,$_SERVER['REQUEST_URI']的返回值可能不一样:

  • 新站点可能部署在子目录里,比如URI是/subdir/rehearsal.php,不是根目录的/rehearsal.php
  • 可能开了URL重写(比如隐藏.php后缀),导致URI是/rehearsal而不是/rehearsal.php

你可以在布局文件里临时加一行代码,看看实际的URI是什么:

<?php echo "当前URI:" . $currentpage; ?>

访问页面后看输出,再调整判断条件里的路径,确保和实际URI匹配。比如子目录的话,条件要改成$currentpage === "/subdir/rehearsal.php"。

4. 检查自定义CSS的影响

你引入了room4.css,要确认:

  • 这个文件在新站点是否正确加载(用浏览器开发者工具的Network标签看有没有404)
  • 里面有没有覆盖Bootstrap的样式,比如不小心把.visually-hidden的display: none给改了,或者修改了.nav-link.active的颜色,导致高亮不显示黑色。

5. 顺便修复Bootstrap 5的JS属性兼容

你的导航折叠按钮用了data-toggle="collapse",但Bootstrap 5里已经把这个属性改成data-bs-toggle,data-target改成data-bs-target。虽然这不会直接影响高亮,但可能导致导航折叠失效,顺便改了:

<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  <span class="navbar-toggler-icon"></span>
</button>

按这几个步骤排查,应该能解决你的问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:37:34