diff --git a/modules/poll/poll-bar--block.tpl.php b/modules/poll/poll-bar--block.tpl.php
index 3b91afc..30c2963 100644
--- a/modules/poll/poll-bar--block.tpl.php
+++ b/modules/poll/poll-bar--block.tpl.php
@@ -18,9 +18,4 @@
 ?>
 
 <div class="text"><?php print $title; ?></div>
-<div class="bar">
-  <div style="width: <?php print $percentage; ?>%;" class="foreground"></div>
-</div>
-<div class="percent">
-  <?php print $percentage; ?>%
-</div>
+<meter class="bar" min="0" max="<?php print $total_votes; ?>" value="<?php print $votes; ?>"><?php print $percentage; ?>%</meter>
diff --git a/modules/poll/poll-bar.tpl.php b/modules/poll/poll-bar.tpl.php
index 9426ff5..11d5e96 100644
--- a/modules/poll/poll-bar.tpl.php
+++ b/modules/poll/poll-bar.tpl.php
@@ -18,9 +18,4 @@
 ?>
 
 <div class="text"><?php print $title; ?></div>
-<div class="bar">
-  <div style="width: <?php print $percentage; ?>%;" class="foreground"></div>
-</div>
-<div class="percent">
-  <?php print $percentage; ?>% (<?php print format_plural($votes, '1 vote', '@count votes'); ?>)
-</div>
+<meter class="bar" min="0" max="<?php print $total_votes; ?>" value="<?php print $votes; ?>"><?php print $percentage; ?>% (<?php print format_plural($votes, '1 vote', '@count votes'); ?>)</meter>
diff --git a/modules/poll/poll-results--block.tpl.php b/modules/poll/poll-results--block.tpl.php
index f8387f5..a18c667 100644
--- a/modules/poll/poll-results--block.tpl.php
+++ b/modules/poll/poll-results--block.tpl.php
@@ -18,11 +18,11 @@
  */
 ?>
 
-<div class="poll">
+<article class="poll">
   <div class="title"><?php print $title ?></div>
   <?php print $results ?>
   <div class="total">
     <?php print t('Total votes: @votes', array('@votes' => $votes)); ?>
   </div>
-</div>
+</article>
 <div class="links"><?php print $links; ?></div>
diff --git a/modules/poll/poll-results.tpl.php b/modules/poll/poll-results.tpl.php
index 5e14dec..a7e3df6 100644
--- a/modules/poll/poll-results.tpl.php
+++ b/modules/poll/poll-results.tpl.php
@@ -17,7 +17,7 @@
  * @see template_preprocess_poll_results()
  */
 ?>
-<div class="poll">
+<article class="poll">
   <?php print $results; ?>
   <div class="total">
     <?php print t('Total votes: @votes', array('@votes' => $votes)); ?>
@@ -25,4 +25,5 @@
   <?php if (!empty($cancel_form)): ?>
     <?php print $cancel_form; ?>
   <?php endif; ?>
-</div>
+</article>
+
diff --git a/modules/poll/poll-vote.tpl.php b/modules/poll/poll-vote.tpl.php
index 068ff7c..6ba770a 100644
--- a/modules/poll/poll-vote.tpl.php
+++ b/modules/poll/poll-vote.tpl.php
@@ -14,11 +14,11 @@
  * @see template_preprocess_poll_vote()
  */
 ?>
-<div class="poll">
+<article class="poll">
   <div class="vote-form">
     <div class="choices">
       <?php if ($block): ?>
-        <div class="title"><?php print $title; ?></div>
+        <h3 class="poll-title"><?php print $title; ?></h3>
       <?php endif; ?>
       <?php print $choice; ?>
     </div>
@@ -26,4 +26,4 @@
   </div>
   <?php // This is the 'rest' of the form, in case items have been added. ?>
   <?php print $rest ?>
-</div>
+</article>
diff --git a/modules/poll/poll.css b/modules/poll/poll.css
index 8b04e38..b6fd783 100644
--- a/modules/poll/poll.css
+++ b/modules/poll/poll.css
@@ -3,14 +3,7 @@
   overflow: hidden;
 }
 .poll .bar {
-  height: 1em;
-  margin: 1px 0;
-  background-color: #ddd;
-}
-.poll .bar .foreground {
-  background-color: #000;
-  height: 1em;
-  float: left; /* LTR */
+  width: 100%;
 }
 .poll .links {
   text-align: center;
@@ -29,7 +22,7 @@
   margin: 0 auto;
   display: table;
 }
-.poll .vote-form .choices .title {
+.poll .vote-form .choices .poll-title {
   font-weight: bold;
 }
 .node-form #edit-poll-more {
