{"action":"created","comment":{"url":"https://api.github.com/repos/edx/edx-documentation/pulls/comments/23864839","id":23864839,"diff_hunk":"@@ -0,0 +1,555 @@\n+.. _Accessibility Guideline for Developers:\n+\n+#######################\n+edX Accessibility Guide\n+#######################\n+\n+EdX measures and evaluates accessibility using the World Wide Web Consortium's\n+`Web Content Accessibility Guidelines (WCAG) 2.0 <http://www.w3.org/TR/WCAG/>`_\n+(Dec. 11, 2008). All features that you merge into edX repositories are expected\n+to `conform <http://www.w3.org/TR/WCAG20/#conformance>`_ to `Level AA\n+<http://www.w3.org/TR/WCAG20/#cc1>`_ of this specification. This guide is\n+intended to extend the guidance available in WCAG 2.0, with a focus on features\n+frequently found in the Open edX platform as well as in Learning and Content\n+Management Systems in general.\n+\n+************\n+Introduction\n+************\n+\n+The core mission of edX is to expand access to education for everyone. We expect\n+any user interfaces that are developed for the Open edX platform to be usable by\n+everyone, regardless of any physical limitations that they might have. The Open\n+edX platform is used every day by people who might not be able to see or hear,\n+or who might not be able to use traditional modes of computer interaction such\n+as the mouse or keyboard. \n+\n+Understanding a few core concepts about how people with disabilities use the web\n+and web applications should give you more context for applying the guidance in\n+this document.\n+\n+* People without vision, as well as those with neurological conditions that\n+  prevent precise hand-eye coordination, cannot use a mouse.\n+\n+* People with mobility impairments might use custom keyboards or keyboard\n+  emulators.\n+\n+* Some people rely on speech to interact with web applications and need to be\n+  able to address interactive elements.\n+\n+* People who cannot hear or hear well require visible text captions, or an\n+  equivalent visual cue, for any audible content.\n+\n+* Many people with disabilities use \"`assistive technologies\n+  <http://www.w3.org/TR/WCAG20/#atdef>`_\" (such as screen readers) to interact\n+  with their computers, web browsers, and web applications. Users might customize\n+  their operating system, browser or web page display properties to make web\n+  applications easier for them to use. For example, they might increase the font\n+  size in their displays, reverse or increase contrast, or remove images.\n+\n+* To allow assistive technologies to provide the maximum information to users,\n+  anything in a user interface that is conveyed visually (such as the element\n+  with focus, an element's role, its current state, and other properties) must\n+  also be conveyed programmatically. This information is often included when you\n+  use native HTML5 elements.\n+\n+Keep these core concepts in mind when you develop user interfaces, so that they\n+can truly be used by everyone. More information is available from the W3C's Web\n+Accessibility Initiative's `How People with Disabilities Use the Web: Overview\n+<http://www.w3.org/WAI/intro/people-use-web/Overview.html>`_.\n+\n+\n+****************************\n+Accessibility Best Practices\n+****************************\n+\n+The following sections cover some best practices and tips to keep in mind as you\n+develop user interfaces that are WCAG 2.0 compliant.\n+\n+* :ref:`Use semantic markup`\n+* :ref:`Make images accessible`\n+* :ref:`Avoid using CSS to add content`\n+* :ref:`Include title attributes for all iframe elements`\n+* :ref:`Make sure form elements have labels`\n+  \n+* :ref:`Include link and control labels that make sense out of context`\n+\n+* :ref:`Use WAI ARIA to create accessible widgets`\n+* :ref:`Manage focus for popups`\n+* :ref:`Inform users when content changes dynamically`\n+* :ref:`Hide or expose content to targeted audiences`\n+* :ref:`Choose colors that meet minimum contrast ratios`\n+* :ref:`Test your code for accessibility`\n+\n+\n+.. _Use semantic markup:\n+\n+*******************\n+Use semantic markup\n+*******************\n+\n+The role, state, and associated properties of an element are exposed to users of\n+assistive technologies either directly through the DOM or through the\n+Accessibility API. If you use elements for purposes other than their intended\n+purposes, you can \"break\" features that are designed to make web applications\n+easier to use, resulting in confusion when expected behaviors are not available.\n+For example, the role, state, or associated properties of an element might be\n+incorrectly reported when you use an element in a way that it was not designed\n+to be used, causing confusion for users who rely on assistive technologies.\n+\n+If the semantics and behavior you need already exist in a native HTML5 element,\n+you should use that element. Do not use an element because of its default style\n+or because it provides a convenient styling hook. Here are some common examples.\n+\n+-------\n+Buttons\n+-------\n+\n+If you want a button, use the ``<button>`` element. Do not use a ``<div>`` that\n+looks and behaves like a button.\n+\n+----------\n+Checkboxes\n+----------\n+\n+If you want a checkbox, use the ``<input type=checkbox>`` element. Do not try to\n+recreate states and properties that are included with the native element, such\n+as focus or state. If you attempt to do so, more than likely you will not fully\n+replicate all of them. Native checkbox elements include a toggle for checked\n+state upon ``space`` or ``enter`` keypresses, exposing its label and\n+\"`checkedness <http://www.w3.org/TR/html5/forms.html #concept-fe-checked>`_\" to\n+the Accessibility API.\n+\n+--------\n+Headings\n+--------\n+\n+Use the appropriate levels of headings (``<h1>`` - ``h6>``) to denote a logical\n+hierarchical order of content. Do not use headings as stylistic markup (for\n+their physical size or appearance).\n+\n+-----\n+Lists\n+-----\n+\n+Use ordered lists (``<ol>``) only when you are marking up a collection of\n+related items whose order in the list if important. Use unordered lists\n+(``<ul>``) only when you are marking up a collection of related items. Screen\n+readers provide extra feedback and functionality for lists and other elements\n+with semantic importance. It can be confusing or cumbersome when this feedback is\n+inaccurately reported.\n+\n+\n+.. _Make images accessible:\n+\n+**********************\n+Make images accessible\n+**********************\n+\n+You can make images accessible by using the ``alt`` attribute for each image, or\n+by providing a text alternative for an image.\n+\n+---------------------\n+Text alternatives\n+---------------------\n+\n+A text alternative is text that users who are unable to view or use non-text\n+content can access in place of the non-text content (such as images, charts,\n+applets, audio files, and so on).\n+\n+Text alternatives must be \"programmatically determinable\". This means that the\n+text must be able to be read and used by the assistive technologies (and the\n+accessibility features in browsers) that people with disabilities use.\n+\n+Text alternatives must also be \"programmatically associated\" with the non-text\n+content. This means that users must be able to use assistive technology to find\n+the alternative text (that they can use) when they land on the non-text content\n+(that they cannot use).\n+\n+All images require a `text alternative <http://www.w3.org/TR/WCAG20/#text-\n+altdef>`_ . The only exceptions to this rule are purely decorative images or\n+images that have text alternatives adjacent to them.\n+\n+--------------\n+Alt attributes\n+--------------\n+\n+Regardless of whether or not an image requires a text alternative, *all*\n+``<img>`` elements require an ``alt`` attribute, even if the value of that\n+attribute is ``\"\"`` (NULL). If your image is purely decorative, or has a text\n+alternative immediately adjacent to it, use a NULL alt attribute: ``alt=\"\"``.\n+\n+If an ``<img>`` element does not have a NULL alt attribute, you should make sure\n+that the value you use in its alt attribute provides useful information to users\n+who rely on screen readers. Screen readers will expose the path to the image as\n+a last resort, if an alt attribute value does not exist.\n+\n+\n+------------------------------------\n+Best practices for non-text elements\n+------------------------------------\n+\n+Providing *useful* text alternatives or alt attribute values is more difficult\n+than it sounds. Ask yourself questions about the purpose of your image to\n+determine what would be most useful to the user.\n+\n+* Is your image the only content of a link or form control?\n+\n+    Your ``alt`` attribute should describe the destination of the link, or the\n+    action that will be performed. For example, a \"Play\" icon should have a text\n+    alternative such as \"Play the 'Introduction to Linux' course video\", rather\n+    than \"Right-pointing triangle\".\n+    \n+* Does your image contain text? The vast majority of images of text should\n+  include the verbatim text as the value of the ``alt`` attribute. Here are some\n+  examples of exceptions.\n+  \n+    * If yes, and if the same text appears adjacent to or near the image in the\n+      DOM, use a \"NULL\" value in the alt attribute, otherwise a screen reader is\n+      exposed to the same content twice.\n+    \n+    * If yes, and if the text within the image is there simply for visual effect\n+      (such as a skewed screenshot of computer code), use a \"NULL\" value in the\n+      alt attribute.\n+    \n+* Does your image contribute meaning to the current page or context?\n+  \n+    * If yes, and if the image is a simple graphic or photograph, the alt\n+      attribute should briefly describe the image in a way that conveys the same\n+      meaning that a sighted person would obtain from viewing the image. Context\n+      is important. A detailed description of a photograph is rarely useful to\n+      the user, unless it is in the context of a photography or art class.\n+    \n+    * If yes, and if the image is a graph or complex piece of information,\n+      include the information contained in the image elsewhere on the page. The\n+      alt attribute value should give a general description of the complex image. You\n+      can programmatically link the image with the detailed information using ``aria-\n+      describedby``.\n+  \n+A very pragmatic guide on providing useful text alternatives is included in the\n+`HTML5 specification (4.7.1.1) <http://www.w3.org/TR/html5/embedded-\n+content-0.html#alt>`_, and provides a variety of example images and appropriate\n+text alternatives.\n+\n+A more comprehensive decision tree is available in the `Web Accessibility\n+Initiatives Images Tutorial <http://www.w3.org/WAI/tutorials/images>`_.\n+\n+\n+.. _Avoid using CSS to add content:\n+\n+******************************\n+Avoid using CSS to add content\n+******************************\n+\n+CSS-generated content can cause many accessibility problems. Since many screen\n+readers interact with the DOM, they are not exposed to content generated by CSS,\n+which does not live in the DOM. There is currently no mechanism for adding\n+alternative content for images added using CSS (either background images or\n+pseudo elements).\n+\n+Many developers think that providing screen reader-only text can be used to\n+solve this. However, images added using this technique will not be rendered to\n+users who have high contrast mode enabled on their operating systems. These\n+users are likely not using screen readers, so they cannot access the visible\n+icon, or the screen reader text.\n+\n+Content injected into the DOM using JavaScript is more accessible than content added using CSS.\n+\n+When adding images that represent important navigational or information\n+elements, use ``<img>`` elements with appropriate ``alt`` attributes. For more\n+information about making images accessible, see :ref:`Make images accessible`.\n+   \n+\n+.. _Include title attributes for all iframe elements:\n+\n+***********************************************************************\n+Include a descriptive ``title`` attribute for all ``<iframe>`` elements\n+***********************************************************************\n+\n+Use the ``title`` attribute to provide a description of the embedded content to\n+help users decide whether or not they would like to interact with this content.\n+It is possible that ``<iframe>`` titles are presented out of context (such as in\n+a list within a dialog box), so choose title text that will make sense when it\n+is exposed out of context.\n+\n+\n+.. _Include link and control labels that make sense out of context:\n+\n+**************************************************************\n+Include link and control labels that make sense out of context\n+**************************************************************\n+\n+Label text for all links and interactive controls should make sense out of\n+context. Screen reader users have the option of listing and navigating links and\n+form controls out of the context of the page. When a page contains vague and\n+non-unique text such as **Click here** or **More...**, the purpose of these\n+links is not clear without the context of surrounding text.\n+\n+\n+.. _Make sure form elements have labels:\n+\n+**************************************\n+Make sure form elements have labels\n+**************************************\n+\n+All form elements must have labels, either using the `label element\n+<http://www.w3.org/TR/html5/forms.html#the-label-element>`_ or the `aria-label\n+<http://www.w3.org/TR/wai-aria/states_and_properties#aria-label>`_ or `aria-\n+labelledby <http://www.w3.org/TR/wai-aria/states_and_properties#aria-\n+labelledby>`_ attributes.\n+\n+Sighted users have the benefit of visual context. It is usually quite obvious to\n+them what the purpose is of a given form field, based on physical proximity of\n+descriptive text or other visual cues. However, to a user with a vision\n+impairment, who does not have the benefit of visual context, these relationships\n+are not obvious. Users who rely on speech to interact with their computers also\n+need a label for addressing form elements. If you correctly use the ``<label>``\n+element, text is programmatically associated with a given form element, and can\n+then be read to the user upon focus, or used to address the form element using\n+speech input.\n+\n+\n+.. note:: Screen readers often enter \"forms processing mode\" when they\n+   encounter a form. This mode temporarily disables all keyboard shortcuts\n+   available to users so that key presses are passed through to the control,\n+   with the exception of ``TAB``, which moves focus from one form field to the\n+   next. This means that context-sensitive help provided for form fields (such\n+   as UI help text adjacent to the form field) is not likely to be encountered\n+   by screen reader users. To remedy this situation, add an `aria-describedby\n+   <http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby>`_\n+   attribute to the input that references the help text. Doing so\n+   programmatically links the help text to the form control so that users can\n+   access it while their screen readers are in forms processing mode.\n+\n+\n+.. _Use WAI ARIA to create accessible widgets:\n+\n+********************************************************************\n+Use WAI-ARIA to create accessible widgets or enhance native elements\n+********************************************************************\n+\n+In some cases, native HTML5 elements will not provide the behavior or style\n+options that you want. If you develop custom HTML or JavaScript widgets, make\n+sure you add all necessary role, state, and property information for each\n+widget, so that it can be used by users of assistive technology. \n+\n+`WAI-ARIA <http://www.w3.org/TR/wai-aria>`_ (Web Accessibility Initiative -\n+Accessible Rich Internet Applications) is a technical specification published by\n+the World Wide Web Consortium (W3C) that specifies how to increase the\n+accessibility of web pages.\n+\n+When you develop custom widgets, use WAI-ARIA to ensure that your custom\n+controls are accessible, and consider the following points.\n+\n+* Is the `role <http://www.w3.org/TR/wai-aria/roles>`_ of the widget properly\n+  identified?\n+\n+* Can a user focus on and interact with your widget using the keyboard alone?\n+  \n+* When the state or some other property of your widget changes, are those\n+  changes conveyed to users of assistive technology using aria-attributes?\n+\n+\n+.. note:: Adding an ARIA ``role`` overrides the native role semantics reported\n+   to the user from the Accessibility API. ARIA indirectly affects what is\n+   reported to a screen reader or other assistive technology. Adding an ARIA\n+   ``role`` to an element does not add the behaviors or attributes to that\n+   element. You have to do that yourself.\n+\n+\n+ARIA attributes can also be used to enhance native elements by adding helpful\n+information specifically for users of assistive technology. Certain sectioning\n+elements (such as ``<nav>`` and ``<header>``) as well as generic ones (such as\n+``<div>`` with \"search\", \"main\" or \"region\" roles defined), receive special\n+behaviors when encountered by assistive technology. Most screen readers\n+announce when a user enters or leaves one of these regions, allow direct\n+navigation to the region, and present the regions to a user in a list that they\n+can use to browse the page out of context. Because your pages are likely to have\n+multiple ``<nav>`` elements or ``<divs>`` with a role of region, it is important\n+to use the ``aria-label`` attribute with a clear and distinct value to\n+differentiate between them.\n+\n+\n+---------------------------------------------------------------\n+Example: Adding descriptive labels to HTML5 structural elements\n+---------------------------------------------------------------\n+\n+.. code-block:: xml\n+\n+\t<!-- the word \"Navigation\" is implied and should not be included in the label -->\n+\t<nav aria-label=\"Main\">\n+\t...\n+\t</nav>\n+\t\n+\t<nav aria-label=\"Unit\">\n+\t...\n+\t</nav>\n+\t\n+\t<div role=\"search\" aria-label=\"Site\">\n+\t...\n+\t</div>\n+\t\n+\t<div role=\"search\" aria-label=\"Course\">\n+\t...\n+\t</div>\n+\n+\n+--------------------------------\n+Some cautions for using WAI-ARIA\n+--------------------------------\n+\n+The following list outlines specific cases in which you have to be careful using\n+WAI-ARIA.\n+\n+* Setting ``role=\"presentation\"`` strips away all of the semantics from a native\n+  element.\n+  \n+* Setting ``role=\"application\"`` on an element passes all keystrokes to the\n+  browser for handling by scripts. In this case, all keyboard shortcuts   provided\n+  by screen readers are disabled. You should only use ``role=\"application\"`` if\n+  you can provide support for all of the application's functions via the\n+  keyboard as well as the roles, states, and properties for all of its child\n+  elements.\n+  \n+* Setting ``aria-hidden=\"true\"`` removes an element from the Accessibility API,\n+  making it invisible to a user of assistive technology. For elements that you\n+  intend to hide from all users, setting the CSS property ``display:none;`` is\n+  sufficient. It is unnecessary to also set ``aria-hidden=\"true\"``. Once the\n+  content is revealed by changing the display property, it is too easy to forget\n+  to toggle the value of ``aria-hidden``.\n+\n+  There are legitimate use cases for ``aria-hidden``, for example when you use an\n+  icon font that has accessible text immediately adjacent to it. Icon fonts can be\n+  focused on by certain screen readers, and will remain silent upon focus This can\n+  lead screen reader users to suspect they are missing important content. Some\n+  screen readers display what is being spoken on the screen, which helps users\n+  with certain cognitive disabilities. Icon fonts will often be rendered as a\n+  nondescript glyph in these cases. It is useful to remove them with ``aria-\n+  hidden``, to prevent exposing a screen reader user to redundant information when\n+  information is available in an accessible format as well as a less than\n+  accessible format.","path":"en_us/developers/source/accessibility.rst","position":430,"original_position":430,"commit_id":"ec24f5279f2517c47ebdda5e1922c466769b1ca8","original_commit_id":"ec24f5279f2517c47ebdda5e1922c466769b1ca8","user":{"login":"lamagnifica","id":6392274,"avatar_url":"https://avatars.githubusercontent.com/u/6392274?v=3","gravatar_id":"","url":"https://api.github.com/users/lamagnifica","html_url":"https://github.com/lamagnifica","followers_url":"https://api.github.com/users/lamagnifica/followers","following_url":"https://api.github.com/users/lamagnifica/following{/other_user}","gists_url":"https://api.github.com/users/lamagnifica/gists{/gist_id}","starred_url":"https://api.github.com/users/lamagnifica/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lamagnifica/subscriptions","organizations_url":"https://api.github.com/users/lamagnifica/orgs","repos_url":"https://api.github.com/users/lamagnifica/repos","events_url":"https://api.github.com/users/lamagnifica/events{/privacy}","received_events_url":"https://api.github.com/users/lamagnifica/received_events","type":"User","site_admin":false},"body":"break this sentence down into two sentences?","created_at":"2015-01-30T19:17:31Z","updated_at":"2015-01-30T19:17:31Z","html_url":"https://github.com/edx/edx-documentation/pull/130#discussion_r23864839","pull_request_url":"https://api.github.com/repos/edx/edx-documentation/pulls/130","_links":{"self":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/comments/23864839"},"html":{"href":"https://github.com/edx/edx-documentation/pull/130#discussion_r23864839"},"pull_request":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/130"}}},"pull_request":{"url":"https://api.github.com/repos/edx/edx-documentation/pulls/130","id":28380583,"html_url":"https://github.com/edx/edx-documentation/pull/130","diff_url":"https://github.com/edx/edx-documentation/pull/130.diff","patch_url":"https://github.com/edx/edx-documentation/pull/130.patch","issue_url":"https://api.github.com/repos/edx/edx-documentation/issues/130","number":130,"state":"open","locked":false,"title":"Add latest WIP accessibility doc to edx-doc repo","user":{"login":"catong","id":9041399,"avatar_url":"https://avatars.githubusercontent.com/u/9041399?v=3","gravatar_id":"","url":"https://api.github.com/users/catong","html_url":"https://github.com/catong","followers_url":"https://api.github.com/users/catong/followers","following_url":"https://api.github.com/users/catong/following{/other_user}","gists_url":"https://api.github.com/users/catong/gists{/gist_id}","starred_url":"https://api.github.com/users/catong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/catong/subscriptions","organizations_url":"https://api.github.com/users/catong/orgs","repos_url":"https://api.github.com/users/catong/repos","events_url":"https://api.github.com/users/catong/events{/privacy}","received_events_url":"https://api.github.com/users/catong/received_events","type":"User","site_admin":false},"body":"@cptvitamin Here is the latest WIP version of the accessibility document for developers, moved to the edx-documentation repo.\r\nOld PR on edx-platform was https://github.com/edx/edx-platform/pull/6806.\r\nTagging @clrux @talbs @sarina in case they want to take another look. Tagging doc folks for editorial review: @mhoeber @srpearce @lamagnifica \r\n\r\nFor easier reading, an HTML version is here: http://draft-dev-accessibility-doc.readthedocs.org/en/latest/accessibility.html (ignore the rest of that document; it's an outdated version on edx-platform; I created output only for review purposes).\r\n","created_at":"2015-01-30T18:04:53Z","updated_at":"2015-01-30T19:17:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f7f407d2d0f47d7775b0676fda9f8e17be9f13f9","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/edx/edx-documentation/pulls/130/commits","review_comments_url":"https://api.github.com/repos/edx/edx-documentation/pulls/130/comments","review_comment_url":"https://api.github.com/repos/edx/edx-documentation/pulls/comments/{number}","comments_url":"https://api.github.com/repos/edx/edx-documentation/issues/130/comments","statuses_url":"https://api.github.com/repos/edx/edx-documentation/statuses/ec24f5279f2517c47ebdda5e1922c466769b1ca8","head":{"label":"edx:carol/docs/accessibility","ref":"carol/docs/accessibility","sha":"ec24f5279f2517c47ebdda5e1922c466769b1ca8","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":23839256,"name":"edx-documentation","full_name":"edx/edx-documentation","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-documentation","description":"","fork":false,"url":"https://api.github.com/repos/edx/edx-documentation","forks_url":"https://api.github.com/repos/edx/edx-documentation/forks","keys_url":"https://api.github.com/repos/edx/edx-documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-documentation/teams","hooks_url":"https://api.github.com/repos/edx/edx-documentation/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-documentation/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-documentation/events","assignees_url":"https://api.github.com/repos/edx/edx-documentation/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-documentation/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-documentation/tags","blobs_url":"https://api.github.com/repos/edx/edx-documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-documentation/languages","stargazers_url":"https://api.github.com/repos/edx/edx-documentation/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-documentation/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-documentation/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-documentation/subscription","commits_url":"https://api.github.com/repos/edx/edx-documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-documentation/issues/comments/{number}","contents_url":"https://api.github.com/repos/edx/edx-documentation/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-documentation/merges","archive_url":"https://api.github.com/repos/edx/edx-documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-documentation/downloads","issues_url":"https://api.github.com/repos/edx/edx-documentation/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-documentation/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-documentation/releases{/id}","created_at":"2014-09-09T15:29:04Z","updated_at":"2015-01-29T21:47:13Z","pushed_at":"2015-01-30T17:58:27Z","git_url":"git://github.com/edx/edx-documentation.git","ssh_url":"git@github.com:edx/edx-documentation.git","clone_url":"https://github.com/edx/edx-documentation.git","svn_url":"https://github.com/edx/edx-documentation","homepage":null,"size":58541,"stargazers_count":7,"watchers_count":7,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"open_issues_count":9,"forks":21,"open_issues":9,"watchers":7,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"e5dcba62bf9132179c491a5eddcde836026066dc","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":23839256,"name":"edx-documentation","full_name":"edx/edx-documentation","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-documentation","description":"","fork":false,"url":"https://api.github.com/repos/edx/edx-documentation","forks_url":"https://api.github.com/repos/edx/edx-documentation/forks","keys_url":"https://api.github.com/repos/edx/edx-documentation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-documentation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-documentation/teams","hooks_url":"https://api.github.com/repos/edx/edx-documentation/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-documentation/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-documentation/events","assignees_url":"https://api.github.com/repos/edx/edx-documentation/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-documentation/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-documentation/tags","blobs_url":"https://api.github.com/repos/edx/edx-documentation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-documentation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-documentation/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-documentation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-documentation/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-documentation/languages","stargazers_url":"https://api.github.com/repos/edx/edx-documentation/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-documentation/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-documentation/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-documentation/subscription","commits_url":"https://api.github.com/repos/edx/edx-documentation/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-documentation/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-documentation/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-documentation/issues/comments/{number}","contents_url":"https://api.github.com/repos/edx/edx-documentation/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-documentation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-documentation/merges","archive_url":"https://api.github.com/repos/edx/edx-documentation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-documentation/downloads","issues_url":"https://api.github.com/repos/edx/edx-documentation/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-documentation/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-documentation/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-documentation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-documentation/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-documentation/releases{/id}","created_at":"2014-09-09T15:29:04Z","updated_at":"2015-01-29T21:47:13Z","pushed_at":"2015-01-30T17:58:27Z","git_url":"git://github.com/edx/edx-documentation.git","ssh_url":"git@github.com:edx/edx-documentation.git","clone_url":"https://github.com/edx/edx-documentation.git","svn_url":"https://github.com/edx/edx-documentation","homepage":null,"size":58541,"stargazers_count":7,"watchers_count":7,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"open_issues_count":9,"forks":21,"open_issues":9,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/130"},"html":{"href":"https://github.com/edx/edx-documentation/pull/130"},"issue":{"href":"https://api.github.com/repos/edx/edx-documentation/issues/130"},"comments":{"href":"https://api.github.com/repos/edx/edx-documentation/issues/130/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/130/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/edx/edx-documentation/pulls/130/commits"},"statuses":{"href":"https://api.github.com/repos/edx/edx-documentation/statuses/ec24f5279f2517c47ebdda5e1922c466769b1ca8"}}}}