簡體   English   中英

顯示 Bootstrap 屏幕閱讀器信息的網站(不應該出現時)

[英]Website displaying Bootstrap Screen Reader info (when it shouldn't be)

我正在構建一個新站點,使用我為舊站點編寫的一些代碼,但合並了一些稍微復雜的 PHP 包含,並且代碼在兩個站點上的行為似乎有所不同。

我在兩者中都有一個引導導航欄,它應該自動突出顯示活動頁面。 我正在從 .php 布局文件加載導航欄,該文件檢測哪個頁面已打開並插入正確的鏈接:

               if($currentpage=="/rehearsal.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/rehearsal.php">Rehearsal<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/rehearsal.php">Rehearsal</a></li>';
                }

但是,在新網站上,我得到以下信息(排練應突出顯示為黑色,而不是旁邊有(當前)):

排練應該用黑色突出顯示而不是(當前)

使用以下頁面源:

在此處輸入圖片說明

然而,另一個站點按預期顯示但具有相同的頁面源布局:

在此處輸入圖片說明

在此處輸入圖片說明

我猜代碼中的其他地方必須指定這種行為,但我不確定在哪里看。 我試過在站點之間移動 inlude 格式,但問題仍然存在。 這是有問題的布局模板的代碼:


<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
    <link rel="stylesheet" href="room4.css">
    <title><?=$title?></title>
  </head>
  <body>

  <header>
    <h1>Room4 Studios</h1>
  </header>
  <div>

  <?php 

$currentpage = $_SERVER['REQUEST_URI'];
        

?>
        <nav class="navbar navbar-expand-md navbar-light" style="background-color: #68B3E2;">
          <a class="navbar-brand" href="#"><img class="header_logo" src="images/logo.png" width="120" height="120" alt="..."></a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>

          <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto">
              <?php if($currentpage=="/index.php") 
    
                {echo '<li class="nav-item active">
                <a class="nav-link" href="/index.php">Home<span class="sr-only">(current)</span></a></li>';
                 
                } else {
    
                echo '<li class="nav-item">
                <a class="nav-link" href="/index.php">Home</a></li>';
                }
                
                if($currentpage=="/rehearsal.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/rehearsal.php">Rehearsal<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/rehearsal.php">Rehearsal</a></li>';
                }
                
                if($currentpage=="/recording.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/recording.php">Recording<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/recording.php">Recording</a></li>';
                }

                if($currentpage=="/video.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/video.php">Video<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/video.php">Video</a></li>';
                }
                
                if($currentpage=="/hire.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/hire.php">Hire<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/hire.php">Hire</a></li>';
                }
                
                
                
                if($currentpage=="vouchers.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="vouchers.php">Gift Vouchers<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="vouchers.php">Gift Vouchers</a></li>';
                 }

                if($currentpage=="/contact.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/contact.php">Contact<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/contact.php">Contact</a></li>';
                }

                if($currentpage=="/blog.php") 

                {echo '<li class="nav-item active">
                <a class="nav-link" href="/blog.php">Blog<span class="sr-only">(current)</span></a></li>';
                 
                 } else {
                 
                 echo '<li class="nav-item">
                <a class="nav-link" href="/blog.php">Blog</a></li>';
                }
                ?>


                
                
                

            </ul>
            
              
              <a class="right_btn btn-primary btn-lg"  href="/booknow.php" role="button">BOOK NOW</a>
            
          </div>

          </div>
  
  

  <main>
  <?=$output?>
  </main>

  <footer>
  &copy; IJDB 2017
  </footer>
  <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script>
    -->
  </body>
</html>

這是我從公共網站引用它的方式:

<?php

$title = 'Room4 Studios';

ob_start();

include  __DIR__ . '/../templates/rehearsal.html.php';

$output = ob_get_clean();

include  __DIR__ . '/../templates/layout.html.php';

任何幫助或見解將不勝感激

如果這對任何人都有幫助,問題是我使用的是為 Bootstrap 4 編寫的代碼,並鏈接了 Bootstrap 5。

.sr-only 現在是 .visually-hidden

&

現在從 <a 標簽而不是 <li 標簽中引用活動導航欄:

<a class="nav-link active">

而不是

<a class="nav-link active"> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM