diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
index 6538015..80f64e0 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\poll\Tests;
 
+/**
+ * Tests the recent poll block.
+ */
 class PollBlockTest extends PollTestBase {
   public static function getInfo() {
     return array(
@@ -24,6 +27,9 @@ class PollBlockTest extends PollTestBase {
     $this->drupalLogin($admin_user);
   }
 
+  /**
+   * Tests creating, viewing, voting on recent poll block
+   */
   function testRecentBlock() {
     // Set block title to confirm that the interface is available.
     $this->drupalPost('admin/structure/block/manage/poll/recent/configure', array('title' => $this->randomName(8)), t('Save block'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollCreateTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollCreateTest.php
index 9f226cb..4aa2bdf 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollCreateTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollCreateTest.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\poll\Tests;
 
+/**
+ * Tests creating a poll.
+ */
 class PollCreateTest extends PollTestBase {
   public static function getInfo() {
     return array(
@@ -16,6 +19,9 @@ class PollCreateTest extends PollTestBase {
     );
   }
 
+  /**
+   * Tests creating, listing, editing a new poll.
+   */
   function testPollCreate() {
     $title = $this->randomName();
     $choices = $this->_generateChoices(7);
@@ -57,6 +63,9 @@ class PollCreateTest extends PollTestBase {
     $this->assertTrue(strpos(end($votes), $vote_count) > 0, t("Votes saved."));
   }
 
+  /**
+   * Tests creating, editing and closing a poll.
+   */
   function testPollClose() {
     $content_user = $this->drupalCreateUser(array('create poll content', 'edit any poll content', 'access content'));
     $vote_user = $this->drupalCreateUser(array('cancel own vote', 'inspect all votes', 'vote on polls', 'access content'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollDeleteChoiceTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollDeleteChoiceTest.php
index e47ec6c..64c0d3b 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollDeleteChoiceTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollDeleteChoiceTest.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\poll\Tests;
 
+/**
+ * Tests the removal of poll choices.
+ */
 class PollDeleteChoiceTest extends PollTestBase {
   public static function getInfo() {
     return array(
@@ -16,6 +19,9 @@ class PollDeleteChoiceTest extends PollTestBase {
     );
   }
 
+  /**
+   * Tests removing a choice from a poll.
+   */
   function testChoiceRemoval() {
     // Set up a poll with three choices.
     $title = $this->randomName();
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollExpirationTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollExpirationTest.php
index f9b82e6..0bb6070 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollExpirationTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollExpirationTest.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\poll\Tests;
 
+/**
+ * Tests the expiration of polls.
+ */
 class PollExpirationTest extends PollTestBase {
   public static function getInfo() {
     return array(
@@ -15,7 +18,9 @@ class PollExpirationTest extends PollTestBase {
       'group' => 'Poll',
     );
   }
-
+  /**
+   * Tests the expiration of a poll.
+   */
   function testAutoExpire() {
     // Set up a poll.
     $title = $this->randomName();
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
index 7410958..e66c638 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollJsAddChoiceTest.php
@@ -10,7 +10,7 @@ namespace Drupal\poll\Tests;
 use Drupal\simpletest\WebTestBase;
 
 /**
- * Test adding new choices.
+ * Tests adding new choices to a poll.
  */
 class PollJsAddChoiceTest extends WebTestBase {
 
@@ -27,7 +27,7 @@ class PollJsAddChoiceTest extends WebTestBase {
   }
 
   /**
-   * Test adding a new choice.
+   * Tests adding a new choice to a poll.
    */
   function testAddChoice() {
     $web_user = $this->drupalCreateUser(array('create poll content', 'access content'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php b/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
index a554dd9..c7cf4de 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollTestBase.php
@@ -9,6 +9,9 @@ namespace Drupal\poll\Tests;
 
 use Drupal\simpletest\WebTestBase;
 
+/**
+ * Defines a base class for testing the Poll module.
+ */
 class PollTestBase extends WebTestBase {
   function setUp() {
     $modules = func_get_args();
@@ -117,7 +120,9 @@ class PollTestBase extends WebTestBase {
     }
     return array($edit, count($already_submitted_choices) + count($new_choices));
   }
-
+  /*
+   * Generates random choices for the poll.
+   */
   function _generateChoices($count = 7) {
     $choices = array();
     for ($i = 1; $i <= $count; $i++) {
@@ -127,7 +132,7 @@ class PollTestBase extends WebTestBase {
   }
 
   /**
-   * Assert correct poll choice order in the node form after submission.
+   * Asserts correct poll choice order in the node form after submission.
    *
    * Verifies both the order in the DOM and in the 'weight' form elements.
    *
@@ -186,7 +191,9 @@ class PollTestBase extends WebTestBase {
       }
     }
   }
-
+  /**
+   * Tests updating a poll.
+   */
   function pollUpdate($nid, $title, $edit) {
     // Edit the poll node.
     $this->drupalPost('node/' . $nid . '/edit', $edit, t('Save'));
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollTokenReplaceTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollTokenReplaceTest.php
index 3aaab13..00a89e4 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollTokenReplaceTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollTokenReplaceTest.php
@@ -8,7 +8,7 @@
 namespace Drupal\poll\Tests;
 
 /**
- * Test poll token replacement in strings.
+ * Tests poll token replacements in strings.
  */
 class PollTokenReplaceTest extends PollTestBase {
   public static function getInfo() {
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollVoteCheckHostnameTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollVoteCheckHostnameTest.php
index 9357331..16a8994 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollVoteCheckHostnameTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollVoteCheckHostnameTest.php
@@ -49,8 +49,8 @@ class PollVoteCheckHostnameTest extends PollTestBase {
   }
 
   /**
-   * Check that anonymous users with same ip cannot vote on poll more than once
-   * unless user is logged in.
+   * Checks that anonymous users with same ip cannot vote on poll more than
+   * once unless user is logged in.
    */
   function testHostnamePollVote() {
     // Login User1.
diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollVoteTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollVoteTest.php
index 51fdc94..b305524 100644
--- a/core/modules/poll/lib/Drupal/poll/Tests/PollVoteTest.php
+++ b/core/modules/poll/lib/Drupal/poll/Tests/PollVoteTest.php
@@ -7,6 +7,9 @@
 
 namespace Drupal\poll\Tests;
 
+/**
+ * Tests voting on a poll.
+ */
 class PollVoteTest extends PollTestBase {
   public static function getInfo() {
     return array(
@@ -20,6 +23,9 @@ class PollVoteTest extends PollTestBase {
     parent::tearDown();
   }
 
+  /**
+   * Tests voting on a poll.
+   */
   function testPollVote() {
     $title = $this->randomName();
     $choices = $this->_generateChoices(7);
diff --git a/core/modules/poll/poll-results.tpl.php b/core/modules/poll/poll-results.tpl.php
index bf615f2..1e045fa 100644
--- a/core/modules/poll/poll-results.tpl.php
+++ b/core/modules/poll/poll-results.tpl.php
@@ -15,6 +15,8 @@
  * - $vote: The choice number of the current user's vote.
  *
  * @see template_preprocess_poll_results()
+ *
+ * @ingroup themeable
  */
 ?>
 <div class="poll">
diff --git a/core/modules/poll/poll-vote.tpl.php b/core/modules/poll/poll-vote.tpl.php
index 6fc368b..f2aeb2c 100644
--- a/core/modules/poll/poll-vote.tpl.php
+++ b/core/modules/poll/poll-vote.tpl.php
@@ -12,6 +12,8 @@
  *   form_alter hooks.
  *
  * @see template_preprocess_poll_vote()
+ *
+ * @ingroup themeable
  */
 ?>
 <div class="poll">
diff --git a/core/modules/poll/poll.install b/core/modules/poll/poll.install
index c848445..a237437 100644
--- a/core/modules/poll/poll.install
+++ b/core/modules/poll/poll.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functions for the poll module.
+ * Install, update and uninstall functions for the Poll module.
  */
 
 /**
diff --git a/core/modules/poll/poll.module b/core/modules/poll/poll.module
index 7954aaa..46153a1 100644
--- a/core/modules/poll/poll.module
+++ b/core/modules/poll/poll.module
@@ -2,8 +2,7 @@
 
 /**
  * @file
- * Enables your site to capture votes on different topics in the form of multiple
- * choice questions.
+ * Collects votes on different topics in the form of multiple choice questions.
  */
 
 use Drupal\node\Node;
@@ -106,7 +105,14 @@ function poll_menu() {
 }
 
 /**
- * Callback function to see if a node is acceptable for poll menu items.
+ * Access callback: Determines if a node is acceptable for poll menu items.
+ *
+ * @param $node
+ *   The poll node object.
+ * @param $perm
+ *   A permission the user must have to view the page.
+ * @param $inspect_allowvotes
+ *   TRUE if the user can view votes, and FALSE if the user cannot view votes.
  */
 function _poll_menu_access($node, $perm, $inspect_allowvotes) {
   return user_access($perm) && ($node->type == 'poll') && ($node->allowvotes || !$inspect_allowvotes);
@@ -125,6 +131,8 @@ function poll_block_info() {
  * Implements hook_block_view().
  *
  * Generates a block containing the latest poll.
+ *
+ * @see poll_block_latest_poll_view()
  */
 function poll_block_view($delta = '') {
   if (user_access('access content')) {
@@ -340,13 +348,13 @@ function poll_form(Node $node, &$form_state) {
 }
 
 /**
- * Submit handler to add more choices to a poll form.
+ * Form submission handler for adding more than two choices to a poll.
  *
- * This handler is run regardless of whether JS is enabled or not. It makes
- * changes to the form state. If the button was clicked with JS disabled, then
- * the page is reloaded with the complete rebuilt form. If the button was
- * clicked with JS enabled, then ajax_form_callback() calls poll_choice_js() to
- * return just the changed part of the form.
+ * This handler is run regardless of whether JavaScript is enabled. It makes
+ * changes to the form state. If the button is clicked with JavaScript
+ * disabled, then the page is reloaded with the complete rebuilt form. If the
+ * button was clicked with JavaScript enabled, then ajax_form_callback() calls
+ * poll_choice_js() to return just the changed part of the form.
  */
 function poll_more_choices_submit($form, &$form_state) {
   // Add one more choice to the form.
@@ -362,6 +370,11 @@ function poll_more_choices_submit($form, &$form_state) {
   $form_state['rebuild'] = TRUE;
 }
 
+/**
+ * Constructs one individual form choice as part of poll node form.
+ *
+ * @see poll_form()
+ */
 function _poll_choice_form($key, $chid = NULL, $value = '', $votes = 0, $weight = 0, $size = 10) {
   $form = array(
     '#tree' => TRUE,
@@ -407,12 +420,10 @@ function _poll_choice_form($key, $chid = NULL, $value = '', $votes = 0, $weight
 }
 
 /**
- * Ajax callback in response to new choices being added to the form.
+ * Ajax callback for adding new choices to the poll node form.
  *
  * This returns the new page content to replace the page content made obsolete
  * by the form submission.
- *
- * @see poll_more_choices_submit()
  */
 function poll_choice_js($form, $form_state) {
   return $form['choice_wrapper']['choice'];
@@ -423,6 +434,8 @@ function poll_choice_js($form, $form_state) {
  *
  * Upon preview and final submission, we need to renumber poll choices and
  * create a teaser output.
+ *
+ * @see poll_teaser()
  */
 function poll_node_form_submit(&$form, &$form_state) {
   // Renumber choices.
@@ -604,10 +617,12 @@ function poll_delete($node) {
 }
 
 /**
- * Return content for 'latest poll' block.
+ * Returns the content for the 'latest poll' block.
  *
  * @param Drupal\node\Node $node
  *   The node entity to load.
+ *
+ * @see poll_view_results()
  */
 function poll_block_latest_poll_view(Node $node) {
   global $user;
@@ -651,6 +666,8 @@ function poll_block_latest_poll_view(Node $node) {
 
 /**
  * Implements hook_view().
+ *
+ * @see poll_view_results()
  */
 function poll_view($node, $view_mode) {
   global $user;
@@ -669,6 +686,12 @@ function poll_view($node, $view_mode) {
  * Creates a simple teaser that lists all the choices.
  *
  * This is primarily used for RSS.
+ *
+ * @param $node
+ *   The poll node object.
+ *
+ * @return
+ *   Poll choices in a simple teaser format.
  */
 function poll_teaser($node) {
   $teaser = NULL;
@@ -683,11 +706,13 @@ function poll_teaser($node) {
 }
 
 /**
- * Generates the voting form for a poll.
+ * Form constructor for the poll voting form.
  *
- * @ingroup forms
- * @see poll_vote()
- * @see phptemplate_preprocess_poll_vote()
+ * @param $node
+ *   The poll node object.
+ * @param $block
+ *   (optional) TRUE if a poll should be displayed in a block. Defaults to
+ *   FALSE.
  */
 function poll_view_voting($form, &$form_state, $node, $block = FALSE) {
   if ($node->choice) {
@@ -724,7 +749,9 @@ function poll_view_voting($form, &$form_state, $node, $block = FALSE) {
 }
 
 /**
- * Validation function for processing votes
+ * Form validation handler for poll_view_voting().
+ *
+ * @see poll_view_voting()
  */
 function poll_view_voting_validate($form, &$form_state) {
   if ($form_state['values']['choice'] == -1) {
@@ -733,7 +760,9 @@ function poll_view_voting_validate($form, &$form_state) {
 }
 
 /**
- * Submit handler for processing a vote.
+ * Form submission handler for poll_view_voting().
+ *
+ * @see poll_view_voting()
  */
 function poll_vote($form, &$form_state) {
   $node = $form['#node'];
@@ -782,9 +811,7 @@ function poll_preprocess_block(&$variables) {
 }
 
 /**
- * Themes the voting form for a poll.
- *
- * Inputs: $form
+ * Preprocesses variables for poll-vote.tpl.php.
  */
 function template_preprocess_poll_vote(&$variables) {
   $form = $variables['form'];
@@ -800,6 +827,9 @@ function template_preprocess_poll_vote(&$variables) {
 
 /**
  * Generates a graphical representation of the results of a poll.
+ *
+ * @see poll_block_latest_poll_view()
+ * @see poll_view()
  */
 function poll_view_results($node, $view_mode, $block = FALSE) {
   // Make sure that choices are ordered by their weight.
@@ -893,13 +923,21 @@ function theme_poll_choices($variables) {
 }
 
 /**
- * Preprocess the poll_results theme hook.
+ * Preprocesses the variables for poll-results.tpl.php.
  *
- * Inputs: $raw_title, $results, $votes, $raw_links, $block, $nid, $vote. The
- * $raw_* inputs to this are naturally unsafe; often safe versions are
- * made to simply overwrite the raw version, but in this case it seems likely
- * that the title and the links may be overridden by the theme layer, so they
- * are left in with a different name for that purpose.
+ * @param $variables
+ *   An associative array containing:
+ *   - raw_title: A string for the title of the poll.
+ *   - results: The results of the poll.
+ *   - votes: The total results in the poll.
+ *   - raw_links: Array containing links in the poll.
+ *   - block: A boolean to define if the poll is a block.
+ *   - nid: The node ID of the poll.
+ *   - vote: The choice number of the current user's vote.
+ *   The raw_* inputs to this are naturally unsafe; often safe versions are
+ *   made to simply overwrite the raw version, but in this case it seems likely
+ *   that the title and the links may be overridden by the theme layer, so they
+ *   are left in with a different name for that purpose.
  *
  * @see poll-results.tpl.php
  * @see poll-results--block.tpl.php
@@ -914,7 +952,10 @@ function template_preprocess_poll_results(&$variables) {
 }
 
 /**
- * Builds the cancel form for a poll.
+ * Form constructor for the poll cancel form.
+ *
+ * @param $nid
+ *   The poll node ID.
  *
  * @ingroup forms
  * @see poll_cancel()
@@ -936,7 +977,9 @@ function poll_cancel_form($form, &$form_state, $nid) {
 }
 
 /**
- * Submit callback for poll_cancel_form().
+ * Form submission handler for poll_cancel_form().
+ *
+ * @ingroup forms
  */
 function poll_cancel($form, &$form_state) {
   global $user;
diff --git a/core/modules/poll/poll.pages.inc b/core/modules/poll/poll.pages.inc
index 732355d..39d805c 100644
--- a/core/modules/poll/poll.pages.inc
+++ b/core/modules/poll/poll.pages.inc
@@ -2,11 +2,16 @@
 
 /**
  * @file
- * User page callbacks for the poll module.
+ * Page callbacks for the Poll module.
  */
 
 /**
- * Menu callback to provide a simple list of all polls available.
+ * Page callback: Displays a simple list of all available polls.
+ *
+ * @return
+ *   The HTML for the page that shows the available polls.
+ *
+ * @see poll_menu()
  */
 function poll_page() {
   $polls_per_page = 15;
@@ -46,7 +51,17 @@ function poll_page() {
 }
 
 /**
- * Callback for the 'votes' tab for polls you can see other votes on
+ * Page callback: Displays the 'votes' tab for polls.
+ *
+ * This page displays a table containing each vote that has been cast.
+ *
+ * @param $node
+ *   The poll node object.
+ *
+ * @return
+ *   Render array containing table with votes.
+ *
+ * @see poll_menu()
  */
 function poll_votes($node) {
   $votes_per_page = 20;
@@ -90,7 +105,17 @@ function poll_votes($node) {
 }
 
 /**
- * Callback for the 'results' tab for polls you can vote on
+ * Page callback: Displays the 'results' tab for the current poll.
+ *
+ * This tab displays a summary of the votes that have been cast.
+ *
+ * @param $node
+ *   The poll node object.
+ *
+ * @return
+ *   An array suitable for use by drupal_render().
+ *
+ * @see poll_menu()
  */
 function poll_results($node) {
   drupal_set_title($node->title);
