แท็ก <nav> หลายแท็ก


100

เราสามารถใช้หลายแท็กในหน้าเดียวกันใน html5 ได้หรือไม่?

ฉันได้อ่านนี้บทความเกี่ยวกับ Zeldman.com แต่ก็ไม่ได้ทั้งหมดชัดเจนกับผม

กล่าวคือ

<header><nav>links here</nav></header>

<footer><nav>links here</nav></footer>

1
Role = 'main' ใช้สำหรับระบุเนื้อหาหลักของเว็บไซต์ของคุณw3.org/TR/wai-aria/roles#mainและไม่มีบทบาทสำหรับบล็อกโรล ฉันคิดว่าคุณหมายถึงจะใช้ microdata - schema.org
Andrew Luhring

คำตอบ:


144

ใช่แน่นอน คุณสามารถมีหลายheader, navและfooterแท็กซองโทษ

ตราบเท่าที่คุณแน่ใจว่าคุณใช้แท็กตามความหมายและคุณไม่ได้วางแท็กไว้ในที่ที่ไม่ถูกต้อง (เป็นองค์ประกอบระดับบล็อกดังนั้นคุณจึงไม่สามารถวางไว้ในองค์ประกอบแบบอินไลน์ได้เช่น) คุณควร ไม่ต้องกังวลมากเกินไปเกี่ยวกับสิ่งที่ผู้ยึดติดพูด ทั้งหมดนี้เป็นเรื่องง่ายที่จะโต้เถียงเกี่ยวกับรายละเอียดเล็ก ๆ น้อย ๆ แทนที่จะเดินหน้าต่อไปในโครงการของคุณ


2
แล้ว nav หลายตัวในส่วนท้ายเดียวกันล่ะ?
igasparetto

4
@igasparetto ใช้ได้อย่างสมบูรณ์โดยเฉพาะอย่างยิ่งหากคุณใช้มันในลักษณะที่แสดงถึงโครงสร้างของเนื้อหาไม่ใช่เพียงเพื่อความสะดวกในการจัดแต่งทรงผม
coreyward

มีคำแนะนำเกี่ยวกับฉลากมาตรฐานใดบ้างที่ควรใช้สำหรับการนำทางประเภทใด โดยเฉพาะ: การนำทางหลักการนำทางย่อยการนำทางยูทิลิตี้ (เช่นลิงก์ด่วน) และการนำทางส่วนท้าย? นอกจากนี้หาก<nav>อยู่ใน<footer>แท็กแล้วการใช้ซ้ำซ้อนaria-label="footer navigation"หรือไม่
chunk_split

1
@chunk_split ฉันคิดว่าคุณควรถามคำถามใหม่ดีกว่าแม้ว่าฉันไม่แน่ใจว่า StackOverflow เป็นชุมชนที่ถูกต้อง สำหรับแอตทริบิวต์ ARIA สามารถเพิ่มได้แม้ว่าจะดูซ้ำซ้อนก็ตาม
coreyward

3

คำตอบคือใช่ คุณสามารถมี<nav>แท็กในส่วนท้ายสำหรับข้อมูลการตรวจสอบมากขึ้นMDN<nav>เอกสาร


งานดีที่ให้ลิงค์ที่เชื่อถือได้ หน้าที่เชื่อมโยงในบันทึกการใช้งานระบุเฉพาะ "เอกสารอาจมีหลาย<nav>องค์ประกอบ"
Ed Gibbs

3

ใช่การมีหลาย<nav>องค์ประกอบก็ใช้ได้

คุณต้องแน่ใจว่าคุณกำลังทำให้มันแตกต่างสำหรับผู้ที่ใช้โปรแกรมอ่านหน้าจอ คุณสามารถทำได้โดยการติดฉลากแต่ละใช้<nav>aria-label

<nav aria-label=’primary’>
  <ul>
    ...List on links here...
  </ul>
</nav>
<nav aria-label=’secondary’>
  <ul>
    ...List on links here...
  </ul>
</nav>

หรือหาก<nav>เป็นข้อความที่มองเห็นได้บนหน้าจอซึ่งสามารถระบุได้ว่าเป็นองค์ประกอบการติดฉลากคุณสามารถใช้aria-labelledbyดังนี้:

<nav aria-label="Site Menu">
  <ul>
    ...List on links here...
  </ul>
</nav>
<article>
  <h1>Title</h1>
  ...
  <nav aria-labelledby="id-1">
    <h2 id="id-1">
      Related Content
    </h2>
    <ul>
      ...List on links here...
    </ul>
  </nav>
</article>

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการใช้หลายนำร่องสถานที่สำคัญ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.