Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

การใช้ HTML เชิงความหมายในโครงการ:A Primer

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

HTML เชิงความหมาย

เมื่อพูดถึงความหมายของ 'HTML เชิงความหมาย' เราสามารถไปที่คำจำกัดความของคำว่า 'semantics' เพื่อช่วยเราได้ ตาม Merriam-Webster ความหมายคือการศึกษาความหมายหรือความหมายของเครื่องหมาย ดังนั้น เมื่อเราเขียน HTML เชิงความหมาย เรากำลังสร้างโค้ด HTML ที่บอกเป็นนัยถึงความหมายของแท็ก

เราใช้มาร์กอัปเชิงความหมายเพื่อให้เราสามารถอธิบายโครงสร้างของหน้าเว็บของเราในลักษณะมาตรฐาน:ช่วยให้โปรแกรมอ่านหน้าจอและผู้ช่วยเสียงสแกนองค์ประกอบ HTML ของเราและส่งคืนข้อมูลที่เกี่ยวข้องไปยังผู้ใช้หากพวกเขาร้องขอ

องค์ประกอบเชิงความหมาย

เมื่อข้อกำหนด HTML5 ออกมาในปี 2014 นั้นมาพร้อมกับองค์ประกอบเชิงความหมายเพิ่มเติมเพื่อระบุโครงสร้างของหน้าเว็บได้ดียิ่งขึ้น นี่คือแท็กบางส่วนที่จะถือว่าเป็นแท็กเชิงความหมาย:

ส่วนหัวเป็นหลักองค์ประกอบคอนเทนเนอร์ที่ทำหน้าที่เป็นองค์ประกอบ HTML เชิงความหมายส่วน โดยทั่วไปจะมีโลโก้ <nav> และ <h1> ที่อธิบายตัวเว็บไซต์เอง ซึ่งมักจะสอดคล้องกันในทุกหน้าในไซต์ของคุณ

<nav> องค์ประกอบสั้นสำหรับองค์ประกอบการนำทาง มีลิงก์ที่นำผู้ใช้ไปยังส่วนอื่นๆ ของไซต์ของคุณ:

<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>repl.it</title>
  <style>
    header {
      height: 100px;
      background: lightblue;
      display: flex;
      align-items: center;
    }
 
   .logo-container {
     display: flex;
     flex-flow: column wrap;
     justify-content: flex-start;
     padding: 0px 20px;
 
   }
 
   h1 {
     font-size: 1rem;
     margin: 0;
     padding: 0;
     align-self: center;
   }
 
    img {
      width: 200px;
      height: 50px;
    }
 
    nav.navigation-links-container {
      width: calc(100% - 200px);
      display: flex;
      justify-content: space-around;
    }
 
    nav.navigation-links-container a {
      color: black;
      text-decoration: none;
    }
 
    nav.navigation-links-container a:hover {
      color: darkgoldenrod;
      text-decoration: underline;
    }
  </style>
</head>
 
<body>
  <header>
   <div class="logo-container">
     <img src="https://www.placekitten.com/200/50" alt="placeholder-kitty"/>
     <h1>Kit Kat Logo</h1>
   </div>
     <nav class="navigation-links-container">
       <a href="about-us.html">About Us</a>
       <a href="contact-us.html">Contact Us</a>
       <a href="services.html">Services</a>
       <a href="login.html">Login/Register</a>
     </nav>
   </header>
   <script src="script.js"></script>
 </body>
</html>

องค์ประกอบการนำทางสามารถมีลิงก์ เมนู และเมนูย่อยได้ อย่างไรก็ตาม องค์ประกอบไม่สามารถมี <nav> . อื่นได้ องค์ประกอบ ในตัวอย่างข้างต้น ฉันมี <img> ที่ทำหน้าที่เป็นตัวยึดสำหรับโลโก้และ <nav> ที่มีองค์ประกอบสมอ () ของเรา ทั้งหมดนี้ซ้อนอยู่ภายใน <header> .

,
,

<main> tag บอกเราถึงเนื้อหาหลักของไซต์ นอก <header> เริ่มต้น . สามารถมี <section> แท็กที่สามารถมี <header> . ของตัวเองได้ และ <h2><h6> องค์ประกอบ

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

กฎทั่วไปเกี่ยวกับแท็กหัวเรื่องคือมีเพียง หนึ่ง <h1> องค์ประกอบต่อหน้าที่ตรงกับชื่อที่กำหนดให้กับหน้า นอกจากนี้ คุณไม่สามารถใช้หัวเรื่องที่มีตัวเลขสูงกว่าได้ จนกว่าคุณจะใช้หัวเรื่องที่มีตัวเลขต่ำกว่า อย่างไรก็ตาม คุณมีความสามารถในการเปลี่ยนจากหมายเลขที่สูงกว่าไปยังหมายเลขที่ต่ำกว่าที่ไม่เป็นระเบียบ โดยพื้นฐานแล้วจะเป็นไปตามโครงสร้างของสิ่งที่หน้าเว็บควรเป็น:

<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>repl.it</title>
  <style>
    header.main-header {
      height: 100px;
      background: lightblue;
      display: flex;
      align-items: center;
    }
 
    .logo-container {
      display: flex;
      flex-flow: column wrap;
      justify-content: flex-start;
      padding: 0px 20px;
 
    }
 
    h1 {
      font-size: 1rem;
      margin: 0;
      padding: 0;
      align-self: center;
    }
 
   h6 {
     text-decoration: line-through;
   }
 
   h6.ok {
     text-decoration: none;
   }
 
    img {
      width: 200px;
      height: 50px;
    }
 
    nav.navigation-links-container {
      width: calc(100% - 200px);
      display: flex;
      justify-content: space-around;
    }
 
    nav.navigation-links-container a {
      color: black;
      text-decoration: none;
    }
 
    nav.navigation-links-container a:hover {
      color: darkgoldenrod;
      text-decoration: underline;
    }
  </style>
</head>
 
<body>
  <header class="main-header">
    <div class="logo-container">
      <img src="https://www.placekitten.com/200/50" alt="placeholder-kitty"/>
     <h1>Kit Kat Logo</h1>
   </div>
     <nav class="navigation-links-container">
       <a href="about-us.html">About Us</a>
       <a href="contact-us.html">Contact Us</a>
       <a href="services.html">Services</a>
       <a href="login.html">Login/Register</a>
     </nav>
   </header>
   <body>
<main>
 <header>
   <h2>
       I'm an h2 -- Semantic Elements -- Describes purpose of main content
   </h2>
 </header>
  <section>
    <header>
      <h3> I'm a h3 -- Layout Semantic Elements -- Describes purpose of section content</h3>
    </header>
   <div>Content and More stuff and things that pertain to h3 </div>
   <h4> I'm an h4 -- Even less important heading </h4>
   <div>More content that pertains to h4</div>
 </section>
  <section>
    <header>
      <h3> We can go back up to h3 even though we used h4</h3>
    </header>
    <div>More stuff and things that pertain to h3 </div>
    <h6>No h6 until h4 and h5</h6>
    <h4> This can't be h6, unless h4</h4>
    <div>More content that pertains to h4</div>
 
    <h5> and h5 are used first. </h5>
    <div>More content that pertains to h5</div>
    <h6 class="ok">Now h6 can be used!</h6>
 
   </section>
  </main>
  <footer>
	
  </footer>
  <script src="script.js"></script>
 </body>
</html>

จำไว้ว่าถึงแม้เราจะใช้แท็กหัวเรื่องไม่เป็นระเบียบ แต่ก็ไม่ใช่แนวทางปฏิบัติที่ดีที่สุด การมีลำดับชั้นที่เหมาะสมจะทำให้เข้าถึงได้ง่ายขึ้น



บทสรุป

มีความเป็นไปได้มากมายสำหรับการใช้ HTML เชิงความหมาย เอกสารสำหรับการใช้ HTML เชิงความหมายจะอยู่ที่เว็บไซต์ MDN เช่นเดียวกับไซต์ W3C แท็กอื่นๆ ที่อธิบายความตั้งใจของพวกเขาจะแสดงอยู่ในทั้งสองไซต์ อย่าลืมรู้วิธีค้นหาเอกสารประกอบและตระหนักว่าตัวประมวลผล HTML ใช้ความหมายเพื่อให้ข้อมูลตามลำดับชั้นเพิ่มเติมแก่ผู้ใช้หากจำเป็น