diff --git a/modules/comment/comment.tpl.php b/modules/comment/comment.tpl.php
index a483813..569e841 100644
--- a/modules/comment/comment.tpl.php
+++ b/modules/comment/comment.tpl.php
@@ -57,15 +57,19 @@
  * @see theme_comment()
  */
 ?>
-<div class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
-  <?php print $picture ?>
+<article class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
+  <?php print $picture; ?>
 
   <?php if ($new): ?>
-    <span class="new"><?php print $new ?></span>
+    <span class="new"><?php print $new; ?></span>
   <?php endif; ?>
 
   <?php print render($title_prefix); ?>
-  <h3<?php print $title_attributes; ?>><?php print $title ?></h3>
+  <?php if ($title): ?>
+    <header>
+      <h3<?php print $title_attributes; ?>><?php print $title; ?></h3>
+    </header>
+  <?php endif; ?>
   <?php print render($title_suffix); ?>
 
   <div class="submitted">
@@ -75,16 +79,16 @@
 
   <div class="content"<?php print $content_attributes; ?>>
     <?php
-      // We hide the comments and links now so that we can render them later.
-      hide($content['links']);
-      print render($content);
+    // We hide the comments and links now so that we can render them later.
+    hide($content['links']);
+    print render($content);
     ?>
     <?php if ($signature): ?>
-    <div class="user-signature clearfix">
-      <?php print $signature ?>
-    </div>
+      <div class="user-signature clearfix">
+        <?php print $signature; ?>
+      </div>
     <?php endif; ?>
   </div>
 
-  <?php print render($content['links']) ?>
-</div>
+  <nav><?php print render($content['links']); ?></nav>
+</article>
diff --git a/modules/rdf/rdf.test b/modules/rdf/rdf.test
index 7586235..b768c65 100644
--- a/modules/rdf/rdf.test
+++ b/modules/rdf/rdf.test
@@ -502,7 +502,7 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
     // Tests comment #2 as anonymous user.
     $this->_testBasicCommentRdfaMarkup($comment2, $anonymous_user);
     // Tests the RDFa markup for the homepage (specific to anonymous comments).
-    $comment_homepage = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name" and @href="http://example.org/" and contains(@rel, "foaf:page")]');
+    $comment_homepage = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name" and @href="http://example.org/" and contains(@rel, "foaf:page")]');
     $this->assertTrue(!empty($comment_homepage), t('RDFa markup for the homepage of anonymous user found.'));
     // There should be no about attribute on anonymous comments.
     $comment_homepage = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[@about]');
@@ -513,7 +513,7 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
     $this->drupalGet('node/' . $this->node2->nid);
     $this->_testBasicCommentRdfaMarkup($comment2, $anonymous_user);
     // Tests the RDFa markup for the homepage (specific to anonymous comments).
-    $comment_homepage = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name" and @href="http://example.org/" and contains(@rel, "foaf:page")]');
+    $comment_homepage = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name" and @href="http://example.org/" and contains(@rel, "foaf:page")]');
     $this->assertTrue(!empty($comment_homepage), t("RDFa markup for the homepage of anonymous user found."));
     // There should be no about attribute on anonymous comments.
     $comment_homepage = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/a[@about]');
@@ -529,9 +529,9 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
     $comments[] = $this->postComment($this->node1, $this->randomName(), $this->randomName());
 
     // Tests the reply_of relationship of a first level comment.
-    $result = $this->xpath("(id('comments')//div[contains(@class,'comment ')])[position()=1]//span[@rel='sioc:reply_of' and @resource=:node]", array(':node' => url("node/{$this->node1->nid}")));
+    $result = $this->xpath("(id('comments')//article[contains(@class,'comment ')])[position()=1]//span[@rel='sioc:reply_of' and @resource=:node]", array(':node' => url("node/{$this->node1->nid}")));
     $this->assertEqual(1, count($result), t('RDFa markup referring to the node is present.'));
-    $result = $this->xpath("(id('comments')//div[contains(@class,'comment ')])[position()=1]//span[@rel='sioc:reply_of' and @resource=:comment]", array(':comment' => url('comment/1#comment-1')));
+    $result = $this->xpath("(id('comments')//article[contains(@class,'comment ')])[position()=1]//span[@rel='sioc:reply_of' and @resource=:comment]", array(':comment' => url('comment/1#comment-1')));
     $this->assertFalse($result, t('No RDFa markup referring to the comment itself is present.'));
 
     // Posts a reply to the first comment.
@@ -539,11 +539,11 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
     $comments[] = $this->postComment(NULL, $this->randomName(), $this->randomName(), TRUE);
 
     // Tests the reply_of relationship of a second level comment.
-    $result = $this->xpath("(id('comments')//div[contains(@class,'comment ')])[position()=2]//span[@rel='sioc:reply_of' and @resource=:node]", array(':node' => url("node/{$this->node1->nid}")));
+    $result = $this->xpath("(id('comments')//article[contains(@class,'comment ')])[position()=2]//span[@rel='sioc:reply_of' and @resource=:node]", array(':node' => url("node/{$this->node1->nid}")));
     $this->assertEqual(1, count($result), t('RDFa markup referring to the node is present.'));
-    $result = $this->xpath("(id('comments')//div[contains(@class,'comment ')])[position()=2]//span[@rel='sioc:reply_of' and @resource=:comment]", array(':comment' => url('comment/1', array('fragment' => 'comment-1'))));
+    $result = $this->xpath("(id('comments')//article[contains(@class,'comment ')])[position()=2]//span[@rel='sioc:reply_of' and @resource=:comment]", array(':comment' => url('comment/1', array('fragment' => 'comment-1'))));
     $this->assertEqual(1, count($result), t('RDFa markup referring to the parent comment is present.'));
-    $comments = $this->xpath("(id('comments')//div[contains(@class,'comment ')])[position()=2]");
+    $comments = $this->xpath("(id('comments')//article[contains(@class,'comment ')])[position()=2]");
   }
 
   /**
@@ -557,17 +557,17 @@ class RdfCommentAttributesTestCase extends CommentHelperCase {
    *   An array containing information about an anonymous user.
    */
   function _testBasicCommentRdfaMarkup($comment, $account = array()) {
-    $comment_container = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]');
+    $comment_container = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]');
     $this->assertTrue(!empty($comment_container), t("Comment RDF type for comment found."));
-    $comment_title = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//h3[@property="dc:title"]');
+    $comment_title = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//h3[@property="dc:title"]');
     $this->assertEqual((string)$comment_title[0]->a, $comment->subject, t("RDFa markup for the comment title found."));
-    $comment_date = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//*[contains(@property, "dc:date") and contains(@property, "dc:created")]');
+    $comment_date = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//*[contains(@property, "dc:date") and contains(@property, "dc:created")]');
     $this->assertTrue(!empty($comment_date), t("RDFa markup for the date of the comment found."));
     // The author tag can be either a or span
-    $comment_author = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/*[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name"]');
+    $comment_author = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//span[@rel="sioc:has_creator"]/*[contains(@class, "username") and @typeof="sioc:UserAccount" and @property="foaf:name"]');
     $name = empty($account["name"]) ? $this->web_user->name : $account["name"] . " (not verified)";
     $this->assertEqual((string)$comment_author[0], $name, t("RDFa markup for the comment author found."));
-    $comment_body = $this->xpath('//div[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//div[@class="content"]//div[contains(@class, "comment-body")]//div[@property="content:encoded"]');
+    $comment_body = $this->xpath('//article[contains(@class, "comment") and contains(@typeof, "sioct:Comment")]//div[@class="content"]//div[contains(@class, "comment-body")]//div[@property="content:encoded"]');
     $this->assertEqual((string)$comment_body[0]->p, $comment->comment, t("RDFa markup for the comment body found."));
   }
 }
diff --git a/themes/bartik/templates/comment.tpl.php b/themes/bartik/templates/comment.tpl.php
index d64487d..433e7e2 100644
--- a/themes/bartik/templates/comment.tpl.php
+++ b/themes/bartik/templates/comment.tpl.php
@@ -57,7 +57,7 @@
  * @see theme_comment()
  */
 ?>
-<div class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
+<article class="<?php print $classes; ?> clearfix"<?php print $attributes; ?>>
 
   <div class="attribution">
 
@@ -84,14 +84,18 @@
     <?php endif; ?>
 
     <?php print render($title_prefix); ?>
-    <h3<?php print $title_attributes; ?>><?php print $title; ?></h3>
+    <?php if ($title): ?>
+      <header>
+        <h3<?php print $title_attributes; ?>><?php print $title; ?></h3>
+      </header>
+    <?php endif; ?>
     <?php print render($title_suffix); ?>
 
     <div class="content"<?php print $content_attributes; ?>>
       <?php
-        // We hide the comments and links now so that we can render them later.
-        hide($content['links']);
-        print render($content);
+      // We hide the comments and links now so that we can render them later.
+      hide($content['links']);
+      print render($content);
       ?>
       <?php if ($signature): ?>
       <div class="user-signature clearfix">
@@ -100,6 +104,6 @@
       <?php endif; ?>
     </div> <!-- /.content -->
 
-    <?php print render($content['links']); ?>
+    <nav><?php print render($content['links']); ?></nav>
   </div> <!-- /.comment-text -->
-</div>
+</article>
