ฉันควรใช้แท็ก HTML5 ใดในการมาร์กอัปชื่อผู้แต่ง


98

ตัวอย่างเช่นบล็อกโพสต์หรือบทความ

<article>
<h1>header<h1>
<time>09-02-2011</time>
<author>John</author>
My article....
</article>

authorแท็กไม่ได้อยู่ แต่ ... ดังนั้นสิ่งที่เป็นแท็ก HTML5 ที่ใช้กันทั่วไปสำหรับผู้เขียน? ขอบคุณ.

(ถ้าไม่มีก็ไม่ควรมี?)


<cite>อาจจะ? ฉันไม่รู้ฮ่า ๆ : P ไม่ได้สร้างความแตกต่างอย่างมีสไตล์มากนัก
Joseph Marikle

2
มันไม่เกี่ยวกับสไตล์ ในทางเทคนิคคุณสามารถใช้ <p> เพื่อสร้างหัวเรื่องเพียงแค่เพิ่มขนาดตัวอักษร แต่เครื่องมือค้นหาจะไม่เข้าใจเช่นนั้น
jalgames

2
คุณไม่ได้รับอนุญาตให้ใช้timeองค์ประกอบเช่นนั้น เนื่องจากdd-mm-yyyไม่ใช่หนึ่งในรูปแบบที่รู้จักคุณจึงต้องจัดหาเวอร์ชันที่เครื่องอ่านได้ (ในรูปแบบที่รู้จัก) ในdatetimeแอตทริบิวต์ของtimeองค์ประกอบ ดูw3.org/TR/2014/REC-html5-20141028/…
Andreas Rejbrand

1
มีเป็นคำตอบที่ดีกว่านี้ได้รับการยอมรับ (robertc) ที่หนึ่ง
Dan Dascalescu

คำตอบ:


115

ทั้งสองอย่างrel="author"และ<address>ได้รับการออกแบบมาเพื่อจุดประสงค์นี้ รองรับทั้งสองอย่างใน HTML5 ข้อมูลจำเพาะบอกเราว่าrel="author"สามารถใช้กับและองค์ประกอบได้ Google ยังแนะนำของการใช้งาน การรวมการใช้และดูเหมือนว่าเหมาะสมที่สุด HTML5 ที่ดีที่สุดรองรับการตัดหัวข้อข่าวและข้อมูลทางลัดในลักษณะนี้:<link> <a><area><address>rel="author"<article><header>

<article>
    <header>
        <h1 class="headline">Headline</h1>
        <div class="byline">
            <address class="author">By <a rel="author" href="/author/john-doe">John Doe</a></address> 
            on <time pubdate datetime="2011-08-28" title="August 28th, 2011">8/28/11</time>
        </div>
    </header>

    <div class="article-content">
    ...
    </div>
</article>
  • pubdateแอตทริบิวต์ที่ระบุว่าเป็นวันที่เผยแพร่

  • titleแอตทริบิวต์ทางยกระดับตัวเลือก

  • ข้อมูลทางสายย่อยสามารถผลัดถูกห่อใน<footer>ภายใน<article>

หากคุณต้องการเพิ่มไมโครฟอร์แมต hcardฉันจะทำดังนี้:

<article>
    <header>
        <h1 class="headline">Headline</h1>
        <div class="byline vcard">
            <address class="author">By <a rel="author" class="url fn n" href="/author/john-doe">John Doe</a></address> 
            on <time pubdate datetime="2011-08-28" title="August 28th, 2011">on 8/28/11</time>
        </div>
    </header>

    <div class="article-content">
    ...
    </div>
</article>

3
ไม่ควร "โดย" นำหน้าแท็ก <address> ใช่หรือไม่ ไม่ใช่ส่วนหนึ่งของที่อยู่จริงๆ
aridlehoover

1
@aridlehoover ดูเหมือนว่าถูกต้องตามwhatwg.org/specs/web-apps/current-work/multipage/… - หากอยู่ภายนอกให้ใช้.byline address { display:inline; font-style:inherit }เพื่อแทนที่blockค่าเริ่มต้นในเบราว์เซอร์
ryanve

@aridlehoover ฉันยังคิดว่า<dl>เป็นไปได้ ดูมาร์กอัปทางไลน์ในแหล่งที่มาของdemo.actiontheme.com/sample-pageเช่น
ryanve

4
เนื่องจากpubdateแอตทริบิวต์หายไปจากข้อกำหนด WHATWG และ W3C ตามที่ Bruce Lawson เขียนไว้ที่นี่ฉันขอแนะนำให้คุณลบออกจากคำตอบของคุณ
Paul Kozlovitch

51

HTML5 มีประเภทลิงก์ผู้เขียน :

<a href="http://johnsplace.com" rel="author">John</a>

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

<span class="author">John</span>

3
@Quang ใช่ฉันคิดว่าประเภทลิงก์ที่ไม่มีลิงก์จริงจะเอาชนะจุดประสงค์ของการพยายามทำเครื่องหมายตามความหมาย
robertc

3
@Quang: relแอตทริบิวต์มีไว้เพื่ออธิบายว่าปลายทางของลิงก์คืออะไร หากลิงก์ไม่มีปลายทางrelก็ไม่มีความหมาย
Paul D.Waite

2
คุณอาจต้องการดูที่schema.orgเพื่อดูวิธีการแสดงข้อมูลประเภทนี้
Michael Mior

1
@ jdh8 เพราะจอห์นไม่ใช่ชื่อผลงาน
robertc

6
คำตอบนี้ไม่ใช่สิ่งที่ดีที่สุดอีกต่อไป Google ไม่สนับสนุนอีกต่อไปrel="author"และตามที่ryanveและ Jason กล่าวถึงaddressแท็กนี้ได้รับการออกแบบอย่างชัดเจนเพื่อแสดงความเป็นนักเขียนเช่นกัน
Dan Dascalescu

19

ตามสเปค HTML5 addressคุณอาจต้องการ

องค์ประกอบที่อยู่แสดงถึงข้อมูลติดต่อสำหรับบทความที่ใกล้ที่สุดหรือบรรพบุรุษองค์ประกอบเนื้อหา

ข้อมูลจำเพาะอ้างอิงเพิ่มเติมaddressเกี่ยวกับผู้เขียนที่นี่

ต่ำกว่า 4.4.4

ข้อมูลผู้เขียนที่เกี่ยวข้องกับองค์ประกอบของบทความ (qv องค์ประกอบที่อยู่) ใช้ไม่ได้กับองค์ประกอบบทความที่ซ้อนกัน

ต่ำกว่า 4.4.9

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

ซึ่งทั้งหมดนี้ทำให้ดูเหมือนว่าaddressเป็นแท็กที่ดีที่สุดสำหรับข้อมูลนี้

ที่กล่าวว่าคุณยังสามารถให้คุณหรือของaddressrelclassauthor

<address class="author">Jason Gennaro</address>

อ่านเพิ่มเติม: http://dev.w3.org/html5/spec/sections.html#the-address-element


1
ขอบคุณ Jason คุณรู้หรือไม่ว่า "qv" หมายถึงอะไร ภายใต้> 4.4.4> ข้อมูลผู้เขียนที่เกี่ยวข้องกับองค์ประกอบของบทความ (qv องค์ประกอบที่อยู่) ใช้ไม่ได้กับองค์ประกอบบทความที่ซ้อนกัน
Quang Van

3
@QuangVan - (เดี๋ยวก่อนชื่อย่อของคุณคือ ... qv อืม) - qv แปลว่า "quod vide" หรือ "ในเรื่องนี้ (เรื่อง) ไปดู" - ลูกชายเรื่อง "qv" ไปดูenglish.stackexchange.com/questions / 25252 / … (qv) haha
เพจแมน

@JasonGennaro ฮ่าฮ่า nanos gigantum humeris insidentes!
เพจแมน

ฮ่า ๆ ฉันใช้เวลาสักพักเพื่อค้นหาว่าความคิดเห็นเหล่านี้อ้างถึงอะไร ... ขอบคุณสำหรับคำศัพท์ภาษาละติน :)
Quang Van

11

ใน HTML5 เราสามารถใช้ป้ายความหมายบางอย่างที่ช่วยจัดระเบียบข้อมูลเกี่ยวกับประเภทของเนื้อหา แต่เพิ่มเติมและเกี่ยวข้องกับเรื่องที่คุณสามารถตรวจสอบschema.org เป็นความคิดริเริ่มของ Google, Bing และ Yahoo ที่มีจุดมุ่งหมายเพื่อช่วยให้เครื่องมือค้นหาเข้าใจเว็บไซต์ได้ดีขึ้นผ่านแอตทริบิวต์ microdata Tu post podría tener el siguiente ด้าน:

<article itemscope itemtype="http://schema.org/Article">
<header>
  <h1 itemprop="headline">header</h1>
  <time itemprop="dateCreated datePublished">09-02-2011</time>
  <div itemprop="author publisher" itemscope itemtype="http://schema.org/Organization">
    <p>
        <img itemprop="image logo" src="..."/>
        <span itemprop="name">John</span>
    </p>
  </div>
</header>
<section itemprop="articleBody" >
    My article....
    <img itemprop="image" src="..."/>
</section>
</article>

1
คำตอบที่ถูกต้องที่สุดสำหรับปี 2019
Simon G

3
โปรดทราบว่า schema.org ไม่ได้เป็นส่วนหนึ่งของ HTML5 มันเป็นสเปคแยกต่างหาก
ya.teck

9

การสนับสนุนของ Google สำหรับ rel = "author" เลิกใช้งานแล้ว :

"ไม่รองรับมาร์กอัปนักเขียนในการค้นหาเว็บอีกต่อไป"

ใช้องค์ประกอบรายการคำอธิบาย (รายการคำจำกัดความใน HTML 4.01)

จากข้อกำหนดHTML5 :

องค์ประกอบ dl แสดงรายการการเชื่อมโยงที่ประกอบด้วยกลุ่มค่าชื่อศูนย์หรือมากกว่า (รายการคำอธิบาย) กลุ่มชื่อ - ค่าประกอบด้วยชื่ออย่างน้อยหนึ่งชื่อ (องค์ประกอบ dt) ตามด้วยค่าอย่างน้อยหนึ่งค่า (องค์ประกอบ dd) โดยไม่สนใจโหนดใด ๆ ที่นอกเหนือจากองค์ประกอบ dt และ dd ภายในองค์ประกอบ dl เดียวไม่ควรมีองค์ประกอบ dt มากกว่าหนึ่งรายการสำหรับแต่ละชื่อ

กลุ่มชื่อ - ค่าอาจเป็นคำศัพท์และคำจำกัดความหัวข้อและค่าของข้อมูลเมตาคำถามและคำตอบหรือกลุ่มข้อมูลชื่อ - ค่าอื่น ๆ

ข้อมูลเมตาของผู้แต่งและบทความอื่น ๆ เข้ากันได้ดีกับคีย์นี้: โครงสร้างคู่ค่า:

  • ใครเป็นผู้เขียน
  • วันที่เผยแพร่บทความ
  • โครงสร้างไซต์ที่จัดเรียงบทความ (หมวดหมู่ / แท็ก: สตริง / อาร์เรย์)
  • เป็นต้น

ตัวอย่างที่แสดงความคิดเห็น:

<article>
  <header>
    <h1>Article Title</h1>
    <p class="subtitle">Subtitle</p>
    <dl class="dateline">
      <dt>Author:</dt>
      <dd>Remy Schrader</dd>
      <dt>All posts by author:</dt>
      <dd><a href="http://www.blog.net/authors/remy-schrader/">Link</a></dd>
      <dt>Contact:</dt>
      <dd><a mailto="remy@blog.net"><img src="email-sprite.png"></a></dd>
    </dl>
  </header>
  <section class="content">
    <!-- article content goes here -->
  </section>
</article>

ดังที่คุณเห็นเมื่อใช้<dl>องค์ประกอบสำหรับข้อมูลเมตาของบทความเรามีอิสระที่จะ<address>รวม<a>และแม้แต่<img>แท็กใน<dt>และ / หรือ<dd>แท็กตามลักษณะของเนื้อหาและเป็นฟังก์ชันที่ต้องการ , และแท็กมีอิสระในการทำงานของพวกเขา - ความหมาย - การถ่ายทอดข้อมูลเกี่ยวกับผู้ปกครอง; , และมีความใกล้เคียงกันอิสระในการทำงานของพวกเขา - อีกครั้งความหมาย - ถ่ายทอดข้อมูลเกี่ยวกับการที่จะหาเนื้อหาที่เกี่ยวข้องนำเสนอภาพที่ไม่ใช่คำพูดและรายละเอียดการติดต่อสำหรับบุคคลที่มีอำนาจตามลำดับ
<dl><dt><dd><article><a><img><address>



3

เกี่ยวกับmicrodata :

<article>
<h1>header<h1>
<time>09-02-2011</time>
<div id="john" itemscope itemtype="http://microformats.org/profile/hcard">
 <h2 itemprop="fn">
  <span itemprop="n" itemscope>
   <span itemprop="given-name">John</span>
  </span>
 </h2>
</div>
My article....
</article>

2

หากคุณใส่รายละเอียดการติดต่อของผู้เขียน<address>แท็กนั้นเหมาะสม:

แต่ถ้าเป็นเพียงชื่อผู้แต่งก็ไม่มีแท็กเฉพาะสำหรับสิ่งนั้น HTML ไม่มีความเกี่ยวข้องกับผู้คนมากนัก


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