diff --git a/src/compatibility/5.1/CDD_README.txt b/src/compatibility/5.1/CDD_README.txt
new file mode 100644
index 0000000..f6901a2
--- /dev/null
+++ b/src/compatibility/5.1/CDD_README.txt
@@ -0,0 +1,93 @@
+WKTHMLTOPDF README
+==================
+Or, how I stopped hating the cdd and learned to love html-to-pdf conversions.
+
+
+OVERVIEW
+==================
+TL:DR This document describes how to create a CDD.pdf from the CDD.html file. You need to generate a cover file and a body file, then use Adobe Acrobat to insert the cover page into the body.pdf.
+
+The Android Compatibilty Definition Document (CDD) is maintained as an html file but distributed as a .pdf. The partner team updates the CDD for every new major Android release and the APE doc team posts the new .pdf to source.android.com in http://source.android.com/compatibility/.
+
+To create the pdf from the html file, use wkhtmltopdf (http://wkhtmltopdf.org/) plus a little bit of Adobe Acrobat. You can do the conversion on a Mac or Linux (or even Windows); you just need to download the wkhtmltopdf pkg for your system. However, since you must use Adobe Acrobat Pro (not Reader) to insert the cover page, you must perform this step on a Mac or Windows box (none of the Linux PDF apps can do the swap successfully and still maintain the PDF bookmarks and links)
+
+
+1. INSTALL WKHTMLTOPDF
+====================
+Go to http://wkhtmltopdf.org/ and download the app for your system. It's command line only.
+
+
+2. GENERATE COVER PDF
+======================
+
+Syntax:
+
+wkthmltopdf [page-size] [page-margins] cover path-to-html path-to-pdf
+
+page-size
+Set to letter.
+Ex. -s letter
+
+page-margins
+set to 0in (cover goes all the way to page edges)
+Ex. -B 0in -T 0in -L 0in -R 0in
+
+path-to-html
+The full path (from root, including the filename) to the cover html file. You will need to update the cover text to specify the release name , number, and date. You might also need to swap the image out for the image associated with the release (store images in compatibility/images).
+Ex:
+/usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-cover_5_1.html
+
+path-to-pdf
+The full path (from root, including the filename) to where you want the output pdf file to reside. If the pdf file is NOT open (in Preview or some other app), running the command will silently overwrite the existing .pdf.
+Ex.
+/usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-cover.pdf
+
+
+Example cover command:
+
+wkhtmltopdf -s letter -B 0in -T 0in -L 0in -R 0in cover /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-cover_5_1.html /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-cover.pdf
+
+
+3. GENERATE BODY PDF
+====================
+Syntax:
+
+wkthmltopdf [page-margins] page path-to-html path-to-footer path-to-pdf
+
+page-margins
+set to 1in on top and bottom, .75in on left and right.
+Ex. -B 1in -T 1in -L .75in -R .75in
+
+path-to-html
+The full path (from root, including the filename) to the body html file. This is the main cdd.html, which will change with each release.
+Ex.
+/usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-5.1-cdd.html
+
+path-to-footer
+The full path (from root, including the filename) to the footer html file. This is a simple html file that contains the android logo and some javascript to calculate the page number and count. The footer should NOT change from release to release.
+Ex.
+--footer-html /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-footer.html
+
+
+path-to-pdf
+The full path (from root, including the filename) to where you want the output pdf file to reside. If the pdf file is NOT open (in Preview or some other app), running the command will silently overwrite the existing .pdf.
+Ex.
+/usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-body.pdf
+
+
+Example body command:
+
+wkhtmltopdf -B 1in -T 1in -L .75in -R .75in page /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-5.1-cdd.html --footer-html /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-footer.html /usr/local/google/home/hvm/Projects/internal/lmp-mr1-dev/docs/source.android.com/src/compatibility/5.1/android-cdd-body.pdf
+
+4. CREATE CSS PDF
+==================
+A. Open the body.pdf in Adobe Acrobat Pro (you *cannot* use Acrobat Reader for this task).
+B. Select Tools > Replace, then open the cover.pdf file and replace page 1 of the body.pdf with page 1 of the cover.pdf.
+C. Save the new file as the android-cdd_x_x.pdf (where X_X is the number of the release, such as 5.1).
+
+QUESTIONS?
+==================
+- For details on wkhtmltopdf, see http://wkhtmltopdf.org/usage/wkhtmltopdf.txt.
+- all cdd html, css, and current pdf files are in docs/source.android.com/src/compatibility/release-number (currently 5.1).
+- all cdd images are in docs/source.android.com/src/compatibility/images.
+- all files currently in the lmp-dev-mr1 branch.
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-5.1-cdd.html b/src/compatibility/5.1/android-5.1-cdd.html
index bb5d4c5..bd8b17f 100644
--- a/src/compatibility/5.1/android-5.1-cdd.html
+++ b/src/compatibility/5.1/android-5.1-cdd.html
@@ -1,348 +1,360 @@
 <!DOCTYPE html>
 <head>
 <title>Android 5.1 Compatibility Definition</title>
-<link rel="stylesheet" type="text/css" href="cdd.css"/>
+<link rel="stylesheet" type="text/css" href="android-cdd.css"/>
 </head>
+
 <body>
-<div><img src="header.jpg" alt="Android logo"/></div>
-<h1>Android 5.1 Compatibility Definition</h1>
-<!--
-<span style="color: red; font-weight: bold;"><h2>Revision 1</h2></span><br/>
-<span style="color: red;">Last updated: July 23, 2013</span>
--->
-<p><b><font color="red">Revision 1</font></b><br/>
-Last updated: January 12, 2015
-</p>
-<p>Copyright &copy; 2015, Google Inc. All rights reserved.<br/>
-<a href="mailto:compatibility@android.com">compatibility@android.com</a>
-</p>
 
-<h1 id=table_of_contents>Table of Contents</h1>
+<h6>Table of Contents</h6>
 
-<table>
- <tr>
-    <td>
-<p><a href="#heading=h.msc7y995n414">1. Introduction</a></p>
+<div id="toc">
 
-<p><a href="#heading=h.40sdoojaw5k9">2. Device Types</a></p>
+<div id="toc_left">
 
-<p><a href="#heading=h.562rcc5o7p3c">2.1 Device Configurations</a></p>
+<p class="toc_h1"><a href="#1_introduction">1. Introduction</a></p>
 
-<p><a href="#heading=h.yhzgiu12663m">3. Software</a></p>
+<p class="toc_h1"><a href="#2_device_types">2. Device Types</a></p>
 
-<p><a href="#heading=h.kr68507hndy4">3.1. Managed API Compatibility</a></p>
+<p class="toc_h2"><a href="#2_1_device_configurations">2.1 Device Configurations</a></p>
 
-<p><a href="#heading=h.klxc9p5alm1k">3.2. Soft API Compatibility</a></p>
+<p class="toc_h1"><a href="#3_software">3. Software</a></p>
 
-<p><a href="#heading=h.db11p7gvg81n">3.2.1. Permissions</a></p>
+<p class="toc_h2"><a href="#3_1_managed_api_compatibility">3.1. Managed API Compatibility</a></p>
 
-<p><a href="#heading=h.3710ebc7nsew">3.2.2. Build Parameters</a></p>
+<p class="toc_h2"><a href="#3_2_soft_api_compatibility">3.2. Soft API Compatibility</a></p>
 
-<p><a href="#heading=h.gthv9fjcs0pe">3.2.3. Intent Compatibility</a></p>
+<p class="toc_h3"><a href="#3_2_1_permissions">3.2.1. Permissions</a></p>
 
-<p><a href="#heading=h.qiy4ddbiirgy">3.2.3.1. Core Application Intents</a></p>
+<p class="toc_h3"><a href="#3_2_2_build_parameters">3.2.2. Build Parameters</a></p>
 
-<p><a href="#heading=h.bpmvwqbxsymp">3.2.3.2. Intent Overrides</a></p>
+<p class="toc_h3"><a href="#3_2_3_intent_compatibility">3.2.3. Intent Compatibility</a></p>
 
-<p><a href="#heading=h.r3yyvgtvim43">3.2.3.3. Intent Namespaces</a></p>
+<p class="toc_h4"><a href="#3_2_3_1_core_application_intents">3.2.3.1. Core Application Intents</a></p>
 
-<p><a href="#heading=h.r8urpa426zy">3.2.3.4. Broadcast Intents</a></p>
+<p class="toc_h4"><a href="#3_2_3_2_intent_overrides">3.2.3.2. Intent Overrides</a></p>
 
-<p><a href="#heading=h.oek6k3rdi0v8">3.2.3.5. Default App Settings</a></p>
+<p class="toc_h4"><a href="#3_2_3_3_intent_namespaces">3.2.3.3. Intent Namespaces</a></p>
 
-<p><a href="#heading=h.3dpths90svxf">3.3. Native API Compatibility</a></p>
+<p class="toc_h4"><a href="#3_2_3_4_broadcast_intents">3.2.3.4. Broadcast Intents</a></p>
 
-<p><a href="#heading=h.jcm6fp8o7lhj">3.3.1 Application Binary Interfaces</a></p>
+<p class="toc_h4"><a href="#3_2_3_5_default_app_settings">3.2.3.5. Default App Settings</a></p>
 
-<p><a href="#heading=h.svlldf3npn1t">3.4. Web Compatibility</a></p>
+<p class="toc_h2"><a href="#3_3_native_api_compatibility">3.3. Native API Compatibility</a></p>
 
-<p><a href="#heading=h.swqsalizdkk8">3.4.1. WebView Compatibility</a></p>
+<p class="toc_h3"><a href="#3_3_1_application_binary_interfaces">3.3.1 Application Binary Interfaces</a></p>
 
-<p><a href="#heading=h.minm6jqu934x">3.4.2. Browser Compatibility</a></p>
+<p class="toc_h2"><a href="#3_4_web_compatibility">3.4. Web Compatibility</a></p>
 
-<p><a href="#heading=h.xq343byyb0fz">3.5. API Behavioral Compatibility</a></p>
+<p class="toc_h3"><a href="#3_4_1_webview_compatibility">3.4.1. WebView Compatibility</a></p>
 
-<p><a href="#heading=h.blmhfmxlmvir">3.6. API Namespaces</a></p>
+<p class="toc_h3"><a href="#3_4_2_browser_compatibility">3.4.2. Browser Compatibility</a></p>
 
-<p><a href="#heading=h.5159yfnui03c">3.7. Runtime Compatibility</a></p>
+<p class="toc_h2"><a href="#3_5_api_behavioral_compatibility">3.5. API Behavioral Compatibility</a></p>
 
-<p><a href="#heading=h.6jv9libgzj5i">3.8. User Interface Compatibility</a></p>
+<p class="toc_h2"><a href="#3_6_api_namespaces">3.6. API Namespaces</a></p>
 
-<p><a href="#heading=h.uihb1eijkvo">3.8.1. Launcher (Home Screen)</a></p>
+<p class="toc_h2"><a href="#3_7_runtime_compatibility">3.7. Runtime Compatibility</a></p>
 
-<p><a href="#heading=h.v9h5ffzht332">3.8.2. Widgets</a></p>
+<p class="toc_h2"><a href="#3_8_user_interface_compatibility">3.8. User Interface Compatibility</a></p>
 
-<p><a href="#heading=h.i9vjtu1lr6go">3.8.3. Notifications</a></p>
+<p class="toc_h3"><a href="#3_8_1_launcher_home_screen">3.8.1. Launcher (Home Screen)</a></p>
 
-<p><a href="#heading=h.6hexhtx5tmrs">3.8.4. Search</a></p>
+<p class="toc_h3"><a href="#3_8_2_widgets">3.8.2. Widgets</a></p>
 
-<p><a href="#heading=h.xc1emmi207w5">3.8.5. Toasts</a></p>
+<p class="toc_h3"><a href="#3_8_3_notifications">3.8.3. Notifications</a></p>
 
-<p><a href="#heading=h.qip8398skywq">3.8.6. Themes</a></p>
+<p class="toc_h3"><a href="#3_8_4_search">3.8.4. Search</a></p>
 
-<p><a href="#heading=h.c5ay2hae9td">3.8.7. Live Wallpapers</a></p>
+<p class="toc_h3"><a href="#3_8_5_toasts">3.8.5. Toasts</a></p>
 
-<p><a href="#heading=h.zc10jlx04bz">3.8.8. Activity Switching</a></p>
+<p class="toc_h3"><a href="#3_8_6_themes">3.8.6. Themes</a></p>
 
-<p><a href="#heading=h.z2dmdulh39vh">3.8.9. Input Management</a></p>
+<p class="toc_h3"><a href="#3_8_7_live_wallpapers">3.8.7. Live Wallpapers</a></p>
 
-<p><a href="#heading=h.y1dfuxk4g759">3.8.10. Lock Screen Media Control</a></p>
+<p class="toc_h3"><a href="#3_8_8_activity_switching">3.8.8. Activity Switching</a></p>
 
-<p><a href="#heading=h.w9tpfodgdigq">3.8.11. Dreams</a></p>
+<p class="toc_h3"><a href="#3_8_9_input_management">3.8.9. Input Management</a></p>
 
-<p><a href="#heading=h.ifi3tjbpjckl">3.8.12. Location</a></p>
+<p class="toc_h3"><a href="#3_8_10_lock_screen_media_control">3.8.10. Lock Screen Media Control</a></p>
 
-<p><a href="#heading=h.ugmg9aj091f8">3.8.13. Unicode and Font</a></p>
+<p class="toc_h3"><a href="#3_8_11_dreams">3.8.11. Dreams</a></p>
 
-<p><a href="#heading=h.yyjxs5mhy231">3.9. Device Administration</a></p>
+<p class="toc_h3"><a href="#3_8_12_location">3.8.12. Location</a></p>
 
-<p><a href="#heading=h.ynv25r97q6m">3.10. Accessibility</a></p>
+<p class="toc_h3"><a href="#3_8_13_unicode_and_font">3.8.13. Unicode and Font</a></p>
 
-<p><a href="#heading=h.d6m0oago1d3y">3.11. Text-to-Speech</a></p>
 
-<p><a href="#heading=h.zdns59cgtxwy">3.12. TV Input Framework</a></p>
 
-<p><a href="#heading=h.z51ce4vpkix">4. Application Packaging Compatibility</a></p>
+</div>
 
-<p><a href="#heading=h.ddcqv1ggh4y7">5. Multimedia Compatibility</a></p>
+<div id="toc_right"><br>
 
-<p><a href="#heading=h.qj4xbxk4bysl">5.1. Media Codecs</a></p>
 
-<p><a href="#heading=h.iad8gjulqe75">5.1.1. Audio Codecs</a></p>
 
-<p><a href="#heading=h.rv9qy784zhuc">5.1.2. Image Codecs</a></p>
+<p class="toc_h2"><a href="#3_9_device_administration">3.9. Device Administration</a></p>
 
-<p><a href="#heading=h.gxu0pnbldfle">5.1.3. Video Codecs</a></p>
+<p class="toc_h2"><a href="#3_10_accessibility">3.10. Accessibility</a></p>
 
-<p><a href="#heading=h.be1ledetmole">5.2. Video Encoding</a></p>
+<p class="toc_h2"><a href="#3_11_text-to-speech">3.11. Text-to-Speech</a></p>
 
-<p><a href="#heading=h.7971wdynbtij">5.3. Video Decoding</a></p>
+<p class="toc_h2"><a href="#3_12_tv_input_framework">3.12. TV Input Framework</a></p>
 
-<p><a href="#heading=h.vtmgyrsev5dt">5.4. Audio Recording</a></p>
+<p class="toc_h1"><a href="#4_application_packaging_compatibility">4. Application Packaging Compatibility</a></p>
 
-<p><a href="#heading=h.ng7fac8ci8vj">5.4.1. Raw Audio Capture</a></p>
+<p class="toc_h1"><a href="#5_multimedia_compatibility">5. Multimedia Compatibility</a></p>
 
-<p><a href="#heading=h.sro7nvcaeuc1">5.4.2. Capture for Voice Recognition</a></p>
+<p class="toc_h2"><a href="#5_1_media_codecs">5.1. Media Codecs</a></p>
 
-<p><a href="#heading=h.n5ikz5dupfno">5.4.3. Capture for Rerouting of Playback</a></p>
+<p class="toc_h3"><a href="#5_1_1_audio_codecs">5.1.1. Audio Codecs</a></p>
 
-<p><a href="#heading=h.1xocvxnwynnm">5.5. Audio Playback</a></p>
+<p class="toc_h3"><a href="#5_1_2_image_codecs">5.1.2. Image Codecs</a></p>
 
-<p><a href="#heading=h.6zy7486s5cfa">5.5.1. Raw Audio Playback</a></p>
+<p class="toc_h3"><a href="#5_1_3_video_codecs">5.1.3. Video Codecs</a></p>
 
-<p><a href="#heading=h.ai1naitm7qfy">5.5.2. Audio Effects</a></p>
+<p class="toc_h2"><a href="#5_2_video_encoding">5.2. Video Encoding</a></p>
 
-<p><a href="#heading=h.fngymkz0321y">5.5.3. Audio Output Volume</a></p>
+<p class="toc_h2"><a href="#5_3_video_decoding">5.3. Video Decoding</a></p>
+
+<p class="toc_h2"><a href="#5_4_audio_recording">5.4. Audio Recording</a></p>
+
+<p class="toc_h3"><a href="#5_4_1_raw_audio_capture">5.4.1. Raw Audio Capture</a></p>
+
+<p class="toc_h3"><a href="#5_4_2_capture_for_voice_recognition">5.4.2. Capture for Voice Recognition</a></p>
+
+<p class="toc_h3"><a href="#5_4_3_capture_for_rerouting_of_playback">5.4.3. Capture for Rerouting of Playback</a></p>
+
+<p class="toc_h2"><a href="#5_5_audio_playback">5.5. Audio Playback</a></p>
+
+<p class="toc_h3"><a href="#5_5_1_raw_audio_playback">5.5.1. Raw Audio Playback</a></p>
+
+<p class="toc_h3"><a href="#5_5_2_audio_effects">5.5.2. Audio Effects</a></p>
+
+<p class="toc_h3"><a href="#5_5_3_audio_output_volume">5.5.3. Audio Output Volume</a></p>
+
+<p class="toc_h2"><a href="#5_6_audio_latency">5.6. Audio Latency</a></p>
+
+<p class="toc_h2"><a href="#5_7_network_protocols">5.7. Network Protocols</a></p>
+
+<p class="toc_h2"><a href="#5_8_secure_media">5.8. Secure Media</a></p>
+
+<p class="toc_h1"><a href="#6_developer_tools_and_options_compatibility">6. Developer Tools and Options Compatibility</a></p>
+
+<p class="toc_h2"><a href="#6_1_developer_tools">6.1. Developer Tools</a></p>
+
+<p class="toc_h2"><a href="#6_2_developer_options">6.2. Developer Options</a></p>
+
+<p class="toc_h1"><a href="#7_hardware_compatibility">7. Hardware Compatibility</a></p>
+
+<p class="toc_h2"><a href="#7_1_display_and_graphics">7.1. Display and Graphics</a></p>
+
+<p class="toc_h3"><a href="#7_1_1_screen_configuration">7.1.1. Screen Configuration</a></p>
+
+<p class="toc_h4"><a href="#7_1_1_1_screen_size">7.1.1.1. Screen Size</a></p>
+
+<p class="toc_h4"><a href="#7_1_1_2_screen_aspect_ratio">7.1.1.2. Screen Aspect Ratio</a></p>
+
+<p class="toc_h4"><a href="#7_1_1_3_screen_density">7.1.1.3. Screen Density</a></p>
+
+
+</div>
+
+<div style="clear: both; page-break-after:always; height:15px"></div>
 
-<p><a href="#heading=h.qpj70us2l5pn">5.6. Audio Latency</a></p>
 
-<p><a href="#heading=h.1p55xhbym9l4">5.7. Network Protocols</a></p>
+<div id="toc_left_2">
 
-<p><a href="#heading=h.mpxr2yu72m6t">5.8. Secure Media</a></p>
+<p class="toc_h3"><a href="#7_1_2_display_metrics">7.1.2. Display Metrics</a></p>
 
-<p><a href="#heading=h.9v14hzhfhm3p">6. Developer Tools and Options Compatibility</a></p>
+<p class="toc_h3"><a href="#7_1_3_screen_orientation">7.1.3. Screen Orientation</a></p>
 
-<p><a href="#heading=h.9cfw1b5q4g96">6.1. Developer Tools</a></p>
+<p class="toc_h3"><a href="#7_1_4_2d_and_3d_graphics_acceleration">7.1.4. 2D and 3D Graphics Acceleration</a></p>
 
-<p><a href="#heading=h.yipuqt964xra">6.2. Developer Options</a></p>
+<p class="toc_h3"><a href="#7_1_5_legacy_application_compatibility_mode">7.1.5. Legacy Application Compatibility Mode</a></p>
 
-<p><a href="#heading=h.5h5uvpadidzr">7. Hardware Compatibility</a></p>
+<p class="toc_h3"><a href="#7_1_6_screen_technology">7.1.6. Screen Technology</a></p>
 
-<p><a href="#heading=h.22h5j37xan6e">7.1. Display and Graphics</a></p>
+<p class="toc_h3"><a href="#7_1_7_external_displays">7.1.7. External Displays</a></p>
 
-<p><a href="#heading=h.6fey5v3qb5m3">7.1.1. Screen Configuration</a></p>
+<p class="toc_h2"><a href="#7_2_input_devices">7.2. Input Devices</a></p>
 
-<p><a href="#heading=h.mrv5xyps1ba8">7.1.1.1. Screen Size</a></p>
+<p class="toc_h3"><a href="#7_2_1_keyboard">7.2.1. Keyboard</a></p>
 
-<p><a href="#heading=h.h4amzk7515h2">7.1.1.2. Screen Aspect Ratio</a></p>
+<p class="toc_h3"><a href="#7_2_2_non-touch_navigation">7.2.2. Non-touch Navigation</a></p>
 
-<p><a href="#heading=h.2d6r63hcnjt0">7.1.1.3. Screen Density</a></p>
+<p class="toc_h3"><a href="#7_2_3_navigation_keys">7.2.3. Navigation Keys</a></p>
 
-<p><a href="#heading=h.p3dcj1v9ofv0">7.1.2. Display Metrics</a></p>
-</td>
- </tr>
-</table>
+<p class="toc_h3"><a href="#7_2_4_touchscreen_input">7.2.4. Touchscreen Input</a></p>
 
-<table>
- <tr>
-    <td>
-<p><a href="#heading=h.try1r2p8m3vf">7.1.3. Screen Orientation</a></p>
+<p class="toc_h3"><a href="#7_2_5_fake_touch_input">7.2.5. Fake Touch Input</a></p>
 
-<p><a href="#heading=h.r5sa5dwl0cjh">7.1.4. 2D and 3D Graphics Acceleration</a></p>
+<p class="toc_h3"><a href="#7_2_6_game_controller_support">7.2.6. Game Controller Support</a></p>
 
-<p><a href="#heading=h.r1yeedum5wsi">7.1.5. Legacy Application Compatibility Mode</a></p>
+<p class="toc_h4"><a href="#7_2_6_1_button_mapping">7.2.6.1. Button Mappings</a></p>
 
-<p><a href="#heading=h.dvbqyf6vof9p">7.1.6. Screen Technology</a></p>
+<p class="toc_h3"><a href="#7_2_7_remote_control">7.2.7. Remote Control</a></p>
 
-<p><a href="#heading=h.yeaulmskczp3">7.1.7. External Displays</a></p>
+<p class="toc_h2"><a href="#7_3_sensors">7.3. Sensors</a></p>
 
-<p><a href="#heading=h.1rhjcel5zbe5">7.2. Input Devices</a></p>
+<p class="toc_h3"><a href="#7_3_1_accelerometer">7.3.1. Accelerometer</a></p>
 
-<p><a href="#heading=h.egbk02citmz">7.2.1. Keyboard</a></p>
+<p class="toc_h3"><a href="#7_3_2_magnetometer">7.3.2. Magnetometer</a></p>
 
-<p><a href="#heading=h.h86aqgcxrqbz">7.2.2. Non-touch Navigation</a></p>
+<p class="toc_h3"><a href="#7_3_3_gps">7.3.3. GPS</a></p>
 
-<p><a href="#heading=h.dzfhwcjzm5z6">7.2.3. Navigation Keys</a></p>
+<p class="toc_h3"><a href="#7_3_4_gyroscope">7.3.4. Gyroscope</a></p>
 
-<p><a href="#heading=h.p7pmjzzatkph">7.2.4. Touchscreen Input</a></p>
+<p class="toc_h3"><a href="#7_3_5_barometer">7.3.5. Barometer</a></p>
 
-<p><a href="#heading=h.7tz929qk2hjr">7.2.5. Fake Touch Input</a></p>
+<p class="toc_h3"><a href="#7_3_6_thermometer">7.3.6. Thermometer</a></p>
 
-<p><a href="#heading=h.sdgxpot7e9ff">7.2.6. Game Controller Support</a></p>
+<p class="toc_h3"><a href="#7_3_7_photometer">7.3.7. Photometer</a></p>
 
-<p><a href="#heading=h.e96izopb7n42">7.2.6.1. Button Mappings</a></p>
+<p class="toc_h3"><a href="#7_3_8_proximity_sensor">7.3.8. Proximity Sensor</a></p>
 
-<p><a href="#heading=h.eija3q5owqll">7.2.7. Remote Control</a></p>
+<p class="toc_h2"><a href="#7_4_data_connectivity">7.4. Data Connectivity</a></p>
 
-<p><a href="#heading=h.j40lqogjtait">7.3. Sensors</a></p>
+<p class="toc_h3"><a href="#7_4_1_telephony">7.4.1. Telephony</a></p>
 
-<p><a href="#heading=h.3u857dtnrtuj">7.3.1. Accelerometer</a></p>
+<p class="toc_h3"><a href="#7_4_2_ieee_80211_wi-fi">7.4.2. IEEE 802.11 (Wi-Fi)</a></p>
 
-<p><a href="#heading=h.sf5gr3iz7tz4">7.3.2. Magnetometer</a></p>
+<p class="toc_h4"><a href="#7_4_2_1_wi-fi_direct">7.4.2.1. Wi-Fi Direct</a></p>
 
-<p><a href="#heading=h.2x1nre62p60d">7.3.3. GPS</a></p>
+<p class="toc_h4"><a href="#7_4_2_2_wi-fi-tunneled-direct-link-setup">7.4.2.2. Wi-Fi Tunneled Direct Link Setup</a></p>
 
-<p><a href="#heading=h.kczbjun4pvap">7.3.4. Gyroscope</a></p>
+<p class="toc_h3"><a href="#7_4_3_bluetooth">7.4.3. Bluetooth</a></p>
 
-<p><a href="#heading=h.vmgl07rl8eir">7.3.5. Barometer</a></p>
+<p class="toc_h3"><a href="#7_4_4_near-field_communications">7.4.4. Near-Field Communications</a></p>
 
-<p><a href="#heading=h.7gtmh7pqnekm">7.3.6. Thermometer</a></p>
+<p class="toc_h3"><a href="#7_4_5_minimum_network_capability">7.4.5. Minimum Network Capability</a></p>
 
-<p><a href="#heading=h.nbgggpsrc5wj">7.3.7. Photometer</a></p>
+<p class="toc_h3"><a href="#7_4_6_sync_settings">7.4.6. Sync Settings</a></p>
 
-<p><a href="#heading=h.gus8hybydyk8">7.3.8. Proximity Sensor</a></p>
+<p class="toc_h2"><a href="#7_5_cameras">7.5. Cameras</a></p>
 
-<p><a href="#heading=h.7y7dtt5ikji6">7.4. Data Connectivity</a></p>
+<p class="toc_h3"><a href="#7_5_1_rear-facing_camera">7.5.1. Rear-Facing Camera</a></p>
 
-<p><a href="#heading=h.u12n5f7z5iiq">7.4.1. Telephony</a></p>
+<p class="toc_h3"><a href="#7_5_2_front-facing_camera">7.5.2. Front-Facing Camera</a></p>
 
-<p><a href="#heading=h.39g0jrqcl40">7.4.2. IEEE 802.11 (Wi-Fi)</a></p>
+<p class="toc_h3"><a href="#7_5_3_external_camera">7.5.3. External Camera</a></p>
 
-<p><a href="#heading=h.82i6ovyqynfx">7.4.2.1. Wi-Fi Direct</a></p>
+<p class="toc_h3"><a href="#7_5_4_camera_api_behavior">7.5.4. Camera API Behavior</a></p>
 
-<p><a href="#heading=h.aia2dpbgueab">7.4.2.2. Wi-Fi Tunneled Direct Link Setup</a></p>
 
-<p><a href="#heading=h.420i0exy2mxj">7.4.3. Bluetooth</a></p>
 
-<p><a href="#heading=h.twzy3bitgp2k">7.4.4. Near-Field Communications</a></p>
 
-<p><a href="#heading=h.sg0l1jarhok9">7.4.5. Minimum Network Capability</a></p>
 
-<p><a href="#heading=h.7agkwed6used">7.4.6. Sync Settings</a></p>
+</div>
 
-<p><a href="#heading=h.ups9ebpvb6ja">7.5. Cameras</a></p>
+<div id="toc_right_2">
 
-<p><a href="#heading=h.v6dmzvarwqkm">7.5.1. Rear-Facing Camera</a></p>
+<p class="toc_h3"><a href="#7_5_5_camera_orientation">7.5.5. Camera Orientation</a></p>
 
-<p><a href="#heading=h.xze6dyxaadh9">7.5.2. Front-Facing Camera</a></p>
+<p class="toc_h2"><a href="#7_6_memory_and_storage">7.6. Memory and Storage</a></p>
 
-<p><a href="#heading=h.q85mgg9m8zhf">7.5.3. External Camera</a></p>
+<p class="toc_h3"><a href="#7_6_1_minimum_memory_and_storage">7.6.1. Minimum Memory and Storage</a></p>
 
-<p><a href="#heading=h.s349dbv4ffl4">7.5.4. Camera API Behavior</a></p>
+<p class="toc_h3"><a href="#7_6_2_application_shared_storage">7.6.2. Application Shared Storage</a></p>
 
-<p><a href="#heading=h.zguadou53wls">7.5.5. Camera Orientation</a></p>
+<p class="toc_h2"><a href="#7_7_usb">7.7. USB</a></p>
 
-<p><a href="#heading=h.bodawgb0ngf8">7.6. Memory and Storage</a></p>
+<p class="toc_h2"><a href="#7_8_audio">7.8. Audio</a></p>
 
-<p><a href="#heading=h.q4aoj3xvrlxe">7.6.1. Minimum Memory and Storage</a></p>
+<p class="toc_h3"><a href="#7_8_1_microphone">7.8.1. Microphone</a></p>
 
-<p><a href="#heading=h.8qr43vll8ow">7.6.2. Application Shared Storage</a></p>
+<p class="toc_h3"><a href="#7_8_2_audio_output">7.8.2. Audio Output</a></p>
 
-<p><a href="#heading=h.rp4zc78xvn6s">7.7. USB</a></p>
+<p class="toc_h4"><a href="#7_8_2_1_analog_audio_ports">7.8.2.1. Analog Audio Ports</a></p>
 
-<p><a href="#heading=h.fzr0lrcrrfak">7.8. Audio</a></p>
+<p class="toc_h1"><a href="#8_performance_compatibility">8. Performance Compatibility</a></p>
 
-<p><a href="#heading=h.74o7ndqnyrjr">7.8.1. Microphone</a></p>
+<p class="toc_h2"><a href="#8_1_user_experience_consistency">8.1. User Experience Consistency</a></p>
 
-<p><a href="#heading=h.ro0d402dzkaq">7.8.2. Audio Output</a></p>
+<p class="toc_h2"><a href="#8_2_memory_performance">8.2. Memory Performance</a></p>
 
-<p><a href="#heading=h.luy58niin3j">7.8.2.1. Analog Audio Ports</a></p>
+<p class="toc_h1"><a href="#9_security_model_compatibility">9. Security Model Compatibility</a></p>
 
-<p><a href="#heading=h.v33sc890yqtg">8. Performance Compatibility</a></p>
+<p class="toc_h2"><a href="#9_1_permissions">9.1. Permissions</a></p>
 
-<p><a href="#heading=h.jyh6oga0ubgs">8.1. User Experience Consistency</a></p>
+<p class="toc_h2"><a href="#9_2_uid_and_process_isolation">9.2. UID and Process Isolation</a></p>
 
-<p><a href="#heading=h.9vv5a25p8zcz">8.2. Memory Performance</a></p>
+<p class="toc_h2"><a href="#9_3_filesystem_permissions">9.3. Filesystem Permissions</a></p>
 
-<p><a href="#heading=h.a32osmf1tmwt">9. Security Model Compatibility</a></p>
+<p class="toc_h2"><a href="#9_4_alternate_execution_environments">9.4. Alternate Execution Environments</a></p>
 
-<p><a href="#heading=h.rj8bxiqpff6s">9.1. Permissions</a></p>
+<p class="toc_h2"><a href="#9_5_multi-user_support">9.5. Multi-User Support</a></p>
 
-<p><a href="#heading=h.p4gtpuihccdf">9.2. UID and Process Isolation</a></p>
+<p class="toc_h2"><a href="#9_6_premium_sms_warning">9.6. Premium SMS Warning</a></p>
 
-<p><a href="#heading=h.en5p20nyss66">9.3. Filesystem Permissions</a></p>
+<p class="toc_h2"><a href="#9_7_kernel_security_features">9.7. Kernel Security Features</a></p>
 
-<p><a href="#heading=h.p5sjwl72r3oz">9.4. Alternate Execution Environments</a></p>
+<p class="toc_h2"><a href="#9_8_privacy">9.8. Privacy</a></p>
 
-<p><a href="#heading=h.xspotnaue6fc">9.5. Multi-User Support</a></p>
+<p class="toc_h2"><a href="#9_9_full-disk-encryption">9.9. Full-Disk Encryption</a></p>
 
-<p><a href="#heading=h.7b5lq2p9nv4j">9.6. Premium SMS Warning</a></p>
+<p class="toc_h2"><a href="#9_10_verified_boot">9.10. Verified Boot</a></p>
 
-<p><a href="#heading=h.io2qcx4xe6hh">9.7. Kernel Security Features</a></p>
+<p class="toc_h1"><a href="#10_software_compatibility_testing">10. Software Compatibility Testing</a></p>
 
-<p><a href="#heading=h.u9w027jkf7bb">9.8. Privacy</a></p>
+<p class="toc_h2"><a href="#10_1_compatibility_test_suite">10.1. Compatibility Test Suite</a></p>
 
-<p><a href="#heading=h.qq3tcq94r919">9.9. Full-Disk Encryption</a></p>
+<p class="toc_h2"><a href="#10_2_cts_verifier">10.2. CTS Verifier</a></p>
 
-<p><a href="#heading=h.ngllntwu29p6">9.10. Verified Boot</a></p>
+<p class="toc_h1"><a href="#11_updatable_software">11. Updatable Software</a></p>
 
-<p><a href="#heading=h.rafv96b0uwer">10. Software Compatibility Testing</a></p>
+<p class="toc_h1"><a href="#12_document_changelog">12. Document Changelog</a></p>
 
-<p><a href="#heading=h.7iuzt59bizon">10.1. Compatibility Test Suite</a></p>
+<p class="toc_h1"><a href="#13_contact_us">13. Contact Us</a></p>
 
-<p><a href="#heading=h.opluz3h21s0b">10.2. CTS Verifier</a></p>
+<p class="toc_h1"><a href="#14_resources">14. Resources</a></p>
 
-<p><a href="#heading=h.141487psajcw">11. Updatable Software</a></p>
+</div>
 
-<p><a href="#heading=h.4et8ifl401m5">12. Document Changelog</a></p>
+</div>
 
-<p><a href="#heading=h.codus8wcjysp">13. Contact Us</a></p>
+<div style="clear: both"></div>
 
-<p><a href="#heading=h.jhgs5yq2lqtj">14. Resources</a></p>
-</td>
- </tr>
-</table>
+<div id="main">
 
-<h1 id=1_introduction>1. Introduction</h1>
+<h1 id="1_introduction">1. Introduction</h1>
 
 
 <p>This document enumerates the requirements that must be met in order for devices
 to be compatible with Android 5.1.</p>
 
-<p>The use of "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
-"SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" is per the IETF standard
+<p>The use of &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;, &ldquo;REQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;, &ldquo;SHOULD&rdquo;,&ldquo;SHOULD NOT&rdquo;, &ldquo;RECOMMENDED&rdquo;, &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; is per the IETF standard
 defined in RFC2119 [<a href="http://www.ietf.org/rfc/rfc2119.txt">Resources, 1</a>].</p>
 
-<p>As used in this document, a "device implementer" or "implementer" is a person
+<p>As used in this document, a &ldquo;device implementer&rdquo; or &ldquo;implementer&rdquo; is a person
 or organization developing a hardware/software solution running Android 5.1. A
-"device implementation" or "implementation" is the hardware/software solution
+&ldquo;device implementation&rdquo; or &ldquo;implementation is the hardware/software solution
 so developed.</p>
 
 <p>To be considered compatible with Android 5.1, device implementations MUST meet
 the requirements presented in this Compatibility Definition, including any
 documents incorporated via reference.</p>
 
-<p>Where this definition or the software tests described in <a href="#heading=h.rafv96b0uwer">section 10</a> is silent, ambiguous, or incomplete, it is the responsibility of the device
+<p>Where this definition or the software tests described in <a href="#10_software_compatibility_testing">section 10</a> is silent, ambiguous, or incomplete, it is the responsibility of the device
 implementer to ensure compatibility with existing implementations.</p>
 
 <p>For this reason, the Android Open Source Project [<a href="http://source.android.com/">Resources, 2</a>] is both the reference and preferred implementation of Android. Device
 implementers are strongly encouraged to base their implementations to the
-greatest extent possible on the "upstream" source code available from the
+greatest extent possible on the &ldquo;upstream&rdquo; source code available from the
 Android Open Source Project. While some components can hypothetically be
 replaced with alternate implementations this practice is strongly discouraged,
 as passing the software tests will become substantially more difficult. It is
-the implementer's responsibility to ensure full behavioral compatibility with
+the implementer&rsquo;s responsibility to ensure full behavioral compatibility with
 the standard Android implementation, including and beyond the Compatibility
 Test Suite. Finally, note that certain component substitutions and
 modifications are explicitly forbidden by this document.</p>
 
-<p>Many of the resources listed in <a href="#heading=h.jhgs5yq2lqtj">section 14</a> are derived directly or indirectly from the Android SDK, and will be
-functionally identical to the information in that SDK's documentation. For any
+<p>Many of the resources listed in <a href="#14_resources">section 14</a> are derived directly or indirectly from the Android SDK, and will be
+functionally identical to the information in that SDK&rsquo;s documentation. For any
 case where this Compatibility Definition or the Compatibility Test Suite
 disagrees with the SDK documentation, the SDK documentation is considered
-authoritative. Any technical details provided in the references included in <a href="#heading=h.jhgs5yq2lqtj">section 14</a> are considered by inclusion to be part of this Compatibility Definition. </p>
+authoritative. Any technical details provided in the references included in <a href="#14_resources">section 14</a> are considered by inclusion to be part of this Compatibility Definition. </p>
 
-<h1 id=2_device_types>2. Device Types</h1>
+<h1 id="2_device_types">2. Device Types</h1>
 
 
 <p>While the Android Open Source Project has been used in the implementation of a
@@ -356,30 +368,30 @@
 device implementations:</p>
 
 <ul>
-  <li> MUST have a touchscreen embedded in the device
-  <li> MUST have a power source that provides mobility, such as a battery 
+  <li>MUST have a touchscreen embedded in the device.</li>
+  <li>MUST have a power source that provides mobility, such as a battery.</li>
 </ul>
 
 <p><strong>Android Television device</strong> refers to an Android device implementation that is an entertainment interface
 for consuming digital media, movies, games, apps, and/or live TV for users
-sitting about ten feet away (a “lean back” or “10-foot user interface”).
+sitting about ten feet away (a &ldquo;lean back&rdquo; or &ldquo;10-foot user interface&rdquo;).
 Android Television devices:</p>
 
 <ul>
-  <li> MUST have an embedded screen OR include a video output port, such as VGA, HDMI,
-or a wireless port for display
-  <li> MUST declare the features android.software.leanback and
-android.hardware.type.television [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_LEANBACK">Resources, 3</a>]
+  <li>MUST have an embedded screen OR include a video output port, such as VGA, HDMI,
+or a wireless port for display.</li>
+  <li>MUST declare the features android.software.leanback and
+android.hardware.type.television [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_LEANBACK">Resources, 3</a>].</li>
 </ul>
 
 <p><strong>Android Watch device</strong> refers to an Android device implementation intended to be worn on the body,
 perhaps on the wrist, and:</p>
 
 <ul>
-  <li> MUST have a screen with the physical diagonal length in the range from 1.1 to
-2.5 inches
-  <li> MUST declare the feature android.hardware.type.watch
-  <li> MUST support uiMode = UI_MODE_TYPE_WATCH [<a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_WATCH">Resources, 4</a>]
+  <li>MUST have a screen with the physical diagonal length in the range from 1.1 to
+2.5 inches.</li>
+  <li>MUST declare the feature android.hardware.type.watch.</li>
+  <li>MUST support uiMode = UI_MODE_TYPE_WATCH [<a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_WATCH">Resources, 4</a>].</li>
 </ul>
 
 <p><strong>Android Automotive implementation</strong> refers to a vehicle head
@@ -392,258 +404,121 @@
 compatible, unless the requirement is explicitly described to be only
 applicable to a specific Android device type. </p>
 
-<h2 id=2_1_device_configurations>2.1 Device Configurations</h2>
+<h2 id="2_1_device_configurations">2.1 Device Configurations</h2>
 
 
 <p>This is a summary of major differences in hardware configuration by device
-type. (Empty cells denote a “MAY”). Not all configurations are covered in this
+type. (Empty cells denote a &ldquo;MAY&rdquo;). Not all configurations are covered in this
 table; see relevant hardware sections for more detail.</p>
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Category</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Feature </strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Section</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Handheld</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Television</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Watch</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Other</strong></p>
-</td>
+    <th>Category</th>
+    <th>Feature</th>
+    <th>Section</th>
+    <th>Handheld</th>
+    <th>Television</th>
+    <th>Watch</th>
+    <th>Other</th>
  </tr>
  <tr>
-    <td>
-<p>Input</p>
-</td>
-    <td>
-<p>D-pad</p>
-</td>
-    <td>
-<p><a href="#heading=h.h86aqgcxrqbz">7.2.2. Non-touch Navigation</a></p>
-</td>
+    <td rowspan="3">Input</td>
+    <td>D-pad</td>
+    <td><a href="#7_2_2_non-touch-navigation">7.2.2. Non-touch Navigation</a></td>
     <td></td>
-    <td>
-<p>MUST</p>
-</td>
+    <td>MUST</td>
     <td></td>
     <td></td>
  </tr>
  <tr>
+    <td>Touchscreen </td>
+    <td><a href="#7_2_4_touchscreen_input">7.2.4. Touchscreen input</a></td>
+    <td>MUST</td>
     <td></td>
-    <td>
-<p>Touchscreen </p>
-</td>
-    <td>
-<p> <a href="#heading=h.p7pmjzzatkph">7.2.4. Touchscreen input</a></p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td></td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>MUST</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>Microphone </p>
-</td>
-    <td>
-<p><a href="#heading=h.74o7ndqnyrjr">7.8.1. Microphone</a></p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>SHOULD </p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>Microphone </td>
+    <td><a href="#7_8_1_microphone">7.8.1. Microphone</a></td>
+    <td>MUST</td>
+    <td>SHOULD </td>
+    <td>MUST</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td>
-<p>Sensors</p>
-</td>
-    <td>
-<p>Accelerometer </p>
-</td>
-    <td>
-<p><a href="#heading=h.3u857dtnrtuj">7.3.1 Accelerometer</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td rowspan="2">Sensors</td>
+    <td>Accelerometer </td>
+    <td><a href="#7_3_1_accelerometer">7.3.1 Accelerometer</a></td>
+    <td>SHOULD</td>
     <td></td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>SHOULD</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>GPS </p>
-</td>
-    <td>
-<p><a href="#heading=h.2x1nre62p60d">7.3.3. GPS</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>GPS</td>
+    <td><a href="#7_3_3_gps">7.3.3. GPS</a></td>
+    <td>SHOULD</td>
     <td></td>
     <td></td>
     <td></td>
  </tr>
  <tr>
-    <td>
-<p>Connectivity</p>
-</td>
-    <td>
-<p>Wi-Fi </p>
-</td>
-    <td>
-<p><a href="#heading=h.39g0jrqcl40">7.4.2. IEEE 802.11</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p> MUST</p>
-</td>
+    <td rowspan="5">Connectivity</td>
+    <td>Wi-Fi</td>
+    <td><a href="#7_4_2_ieee_802.11">7.4.2. IEEE 802.11</a></td>
+    <td>SHOULD</td>
+    <td> MUST</td>
     <td></td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
+    <td>Wi-Fi Direct</td>
+    <td><a href="#7_4_2_1_wi-fi-direct">7.4.2.1. Wi-Fi Direct</a></td>
+    <td>SHOULD</td>
+    <td>SHOULD</td>
     <td></td>
-    <td>
-<p>Wi-Fi Direct </p>
-</td>
-    <td>
-<p><a href="#heading=h.82i6ovyqynfx">7.4.2.1. Wi-Fi Direct</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td></td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>Bluetooth </p>
-</td>
-    <td>
-<p><a href="#heading=h.420i0exy2mxj">7.4.3. Bluetooth</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>Bluetooth</td>
+    <td><a href="#7_4_3_bluetooth">7.4.3. Bluetooth</a></td>
+    <td>SHOULD</td>
+    <td>MUST</td>
+    <td>MUST</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>Bluetooth Low Energy </p>
-</td>
-    <td>
-<p><a href="#heading=h.420i0exy2mxj">7.4.3. Bluetooth</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>Bluetooth Low Energy</td>
+    <td><a href="#7_4_3_bluetooth">7.4.3. Bluetooth</a></td>
+    <td>SHOULD</td>
+    <td>MUST</td>
+    <td>SHOULD</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
+    <td>USB peripheral/ host mode</td>
+    <td><a href="#7_7_usb">7.7. USB</a></td>
+    <td>SHOULD</td>
     <td></td>
-    <td>
-<p>USB peripheral/ host mode </p>
-</td>
-    <td>
-<p><a href="#heading=h.rp4zc78xvn6s">7.7. USB</a></p>
-</td>
-    <td>
-<p>SHOULD</p>
-</td>
-    <td>
-<p> </p>
-</td>
     <td></td>
-    <td>
-<p>SHOULD</p>
-</td>
+    <td>SHOULD</td>
  </tr>
  <tr>
-    <td>
-<p>Output</p>
-</td>
-    <td>
-<p>Speaker and/or Audio output ports </p>
-</td>
-    <td>
-<p><a href="#heading=h.ro0d402dzkaq">7.8.2. Audio Output</a></p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
-    <td>
-<p>MUST</p>
-</td>
+    <td>Output</td>
+    <td>Speaker and/or Audio output ports</td>
+    <td><a href="#7_8_2_audio_output">7.8.2. Audio Output</a></td>
+    <td>MUST</td>
+    <td>MUST</td>
     <td></td>
-    <td>
-<p>MUST</p>
-</td>
+    <td>MUST</td>
  </tr>
 </table>
 
 
-<h1 id=3_software>3. Software</h1>
+<h1 id="3_software">3. Software</h1>
 
 
-<h2 id=3_1_managed_api_compatibility>3.1. Managed API Compatibility</h2>
+<h2 id="3_1_managed_api_compatibility">3.1. Managed API Compatibility</h2>
 
 
 <p>The managed Dalvik bytecode execution environment is the primary vehicle for
@@ -651,7 +526,7 @@
 the set of Android platform interfaces exposed to applications running in the
 managed runtime environment. Device implementations MUST provide complete
 implementations, including all documented behaviors, of any documented API
-exposed by the Android SDK [<a href="http://developer.android.com/reference/packages.html">Resources, 5</a>] or any API decorated with the "@SystemApi" marker in the upstream Android
+exposed by the Android SDK [<a href="http://developer.android.com/reference/packages.html">Resources, 5</a>] or any API decorated with the &ldquo;@SystemApi&rdquo; marker in the upstream Android
 source code. </p>
 
 <p>Device implementations MUST NOT omit any managed APIs, alter API interfaces or
@@ -660,22 +535,22 @@
 
 <p>This Compatibility Definition permits some types of hardware for which Android
 includes APIs to be omitted by device implementations. In such cases, the APIs
-MUST still be present and behave in a reasonable way. See <a href="#heading=h.5h5uvpadidzr">section 7</a> for specific requirements for this scenario.</p>
+MUST still be present and behave in a reasonable way. See <a href="#7_hardware_compatibility">section 7</a> for specific requirements for this scenario.</p>
 
-<h2 id=3_2_soft_api_compatibility>3.2. Soft API Compatibility</h2>
+<h2 id="3_2_soft_api_compatibility">3.2. Soft API Compatibility</h2>
 
 
-<p>In addition to the managed APIs from <a href="#heading=h.kr68507hndy4">section 3.1</a>, Android also includes a significant runtime-only "soft" API, in the form of
+<p>In addition to the managed APIs from <a href="#3_1_managed_api_compatibility">section 3.1</a>, Android also includes a significant runtime-only &ldquo;soft&rdquo; API, in the form of
 such things as intents, permissions, and similar aspects of Android
 applications that cannot be enforced at application compile time.</p>
 
-<h3 id=3_2_1_permissions>3.2.1. Permissions</h3>
+<h3 id="3_2_1_permissions">3.2.1. Permissions</h3>
 
 
 <p>Device implementers MUST support and enforce all permission constants as
-documented by the Permission reference page [<a href="http://developer.android.com/reference/android/Manifest.permission.html">Resources, 6]</a>. Note that <a href="#heading=h.a32osmf1tmwt">section 9</a> lists additional requirements related to the Android security model.</p>
+documented by the Permission reference page [<a href="http://developer.android.com/reference/android/Manifest.permission.html">Resources, 6]</a>. Note that <a href="#9_security_model_compatibility">section 9</a> lists additional requirements related to the Android security model.</p>
 
-<h3 id=3_2_2_build_parameters>3.2.2. Build Parameters</h3>
+<h3 id="3_2_2_build_parameters">3.2.2. Build Parameters</h3>
 
 
 <p>The Android APIs include a number of constants on the android.os.Build class [<a href="http://developer.android.com/reference/android/os/Build.html">Resources, 7</a>] that are intended to describe the current device. To provide consistent,
@@ -684,282 +559,178 @@
 implementations MUST conform.</p>
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Parameter</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Details</strong></p>
-</td>
+    <th>Parameter</th>
+    <th>Details</th>
  </tr>
  <tr>
-    <td>
-<p>VERSION.RELEASE</p>
-</td>
-    <td>
-<p>The version of the currently-executing Android system, in human-readable
-format. This field MUST have one of the string values defined in [<a href="http://source.android.com/compatibility/5.1/versions.html">Resources, 8]</a>.</p>
-</td>
+    <td>VERSION.RELEASE</td>
+    <td>The version of the currently-executing Android system, in human-readable
+format. This field MUST have one of the string values defined in [<a href="http://source.android.com/compatibility/5.1/versions.html">Resources, 8]</a>.</td>
  </tr>
  <tr>
-    <td>
-<p>VERSION.SDK</p>
-</td>
-    <td>
-<p>The version of the currently-executing Android system, in a format accessible
+    <td>VERSION.SDK</td>
+    <td>The version of the currently-executing Android system, in a format accessible
 to third-party application code. For Android 5.1, this field MUST have the
-integer value 22.</p>
-</td>
+integer value 22.</td>
  </tr>
  <tr>
-    <td>
-<p>VERSION.SDK_INT</p>
-</td>
-    <td>
-<p>The version of the currently-executing Android system, in a format accessible
+    <td>VERSION.SDK_INT</td>
+    <td>The version of the currently-executing Android system, in a format accessible
 to third-party application code. For Android 5.1, this field MUST have the
-integer value 22.</p>
-</td>
+integer value 22.</td>
  </tr>
  <tr>
-    <td>
-<p>VERSION.INCREMENTAL</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer designating the specific build of the
+    <td>VERSION.INCREMENTAL</td>
+    <td>A value chosen by the device implementer designating the specific build of the
 currently-executing Android system, in human-readable format. This value MUST
 NOT be reused for different builds made available to end users. A typical use
 of this field is to indicate which build number or source-control change
 identifier was used to generate the build. There are no requirements on the
 specific format of this field, except that it MUST NOT be null or the empty
-string ("").</p>
-</td>
+string ("").</td>
  </tr>
  <tr>
-    <td>
-<p>BOARD</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer identifying the specific internal
+    <td>BOARD</td>
+    <td>A value chosen by the device implementer identifying the specific internal
 hardware used by the device, in human-readable format. A possible use of this
 field is to indicate the specific revision of the board powering the device.
 The value of this field MUST be encodable as 7-bit ASCII and match the regular
-expression "^[a-zA-Z0-9_-]+$".</p>
-</td>
+expression &ldquo;^[a-zA-Z0-9_-]+$&rdquo;.</td>
  </tr>
  <tr>
-    <td>
-<p>BRAND</p>
-</td>
-    <td>
-<p>A value reflecting the brand name associated with the device as known to the
+    <td>BRAND</td>
+    <td>A value reflecting the brand name associated with the device as known to the
 end users. MUST be in human-readable format and SHOULD represent the
 manufacturer of the device or the company brand under which the device is
 marketed. The value of this field MUST be encodable as 7-bit ASCII and match
-the regular expression "^[a-zA-Z0-9_-]+$".</p>
-</td>
+the regular expression &ldquo;^[a-zA-Z0-9_-]+$&rdquo;.</td>
  </tr>
  <tr>
-    <td class="tab1">
-<p>SUPPORTED_ABIS</p>
-</td>
-    <td>
-<p>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#heading=h.3dpths90svxf">section 3.3. Native API Compatibility</a>.</p>
-</td>
+    <td>SUPPORTED_ABIS</td>
+    <td>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a>.</td>
  </tr>
  <tr>
-    <td class="tab1">
-<p>SUPPORTED_32_BIT_ABIS</p>
-</td>
-    <td>
-<p>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#heading=h.3dpths90svxf">section 3.3. Native API Compatibility</a>.</p>
-</td>
+    <td>SUPPORTED_32_BIT_ABIS</td>
+    <td>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a>.</td>
  </tr>
  <tr>
-    <td class="tab1">
-<p>SUPPORTED_64_BIT_ABIS</p>
-</td>
-    <td>
-<p>The name of the second instruction set (CPU type + ABI convention) of native
-code. See <a href="#heading=h.3dpths90svxf">section 3.3. Native API Compatibility</a>.</p>
-</td>
+    <td>SUPPORTED_64_BIT_ABIS</td>
+    <td>The name of the second instruction set (CPU type + ABI convention) of native
+code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a>.</td>
  </tr>
  <tr>
-    <td>
-<p>CPU_ABI</p>
-</td>
-    <td>
-<p>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#heading=h.3dpths90svxf">section 3.3. Native API Compatibility</a>.</p>
-</td>
+    <td>CPU_ABI</td>
+    <td>The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a>.</td>
  </tr>
  <tr>
-    <td>
-<p>CPU_ABI2</p>
-</td>
-    <td>
-<p>The name of the second instruction set (CPU type + ABI convention) of native
-code. See <a href="#heading=h.3dpths90svxf">section 3.3. Native API Compatibility</a>.</p>
-</td>
+    <td>CPU_ABI2</td>
+    <td>The name of the second instruction set (CPU type + ABI convention) of native
+code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a>.</td>
  </tr>
  <tr>
-    <td>
-<p>DEVICE</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer containing the development name or
+    <td>DEVICE</td>
+    <td>A value chosen by the device implementer containing the development name or
 code name identifying the configuration of the hardware features and industrial
 design of the device. The value of this field MUST be encodable as 7-bit ASCII
-and match the regular expression "^[a-zA-Z0-9_-]+$".</p>
-</td>
+and match the regular expression &ldquo;^[a-zA-Z0-9_-]+$&rdquo;.</td>
  </tr>
  <tr>
-    <td>
-<p>FINGERPRINT</p>
-</td>
-    <td>
-<p>A string that uniquely identifies this build. It SHOULD be reasonably
+    <td>FINGERPRINT</td>
+    <td>A string that uniquely identifies this build. It SHOULD be reasonably
 human-readable. It MUST follow this template:</p>
 
-<p>$(BRAND)/$(PRODUCT)/$(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)</p>
+<p class="small">$(BRAND)/$(PRODUCT)/$(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)</p>
 
-<p>For example:</p>
-
-<p>acme/myproduct/mydevice:5.1/LMYXX/3359:userdebug/test-keys</p>
+<p>For example: acme/myproduct/mydevice:5.1/LMYXX/3359:userdebug/test-keys</p>
 
 <p>The fingerprint MUST NOT include whitespace characters. If other fields
 included in the template above have whitespace characters, they MUST be
 replaced in the build fingerprint with another character, such as the
 underscore ("_") character. The value of this field MUST be encodable as 7-bit
-ASCII.</p>
-</td>
+ASCII.</td>
  </tr>
  <tr>
-    <td>
-<p>HARDWARE</p>
-</td>
-    <td>
-<p>The name of the hardware (from the kernel command line or /proc). It SHOULD be
+    <td>HARDWARE</td>
+    <td>The name of the hardware (from the kernel command line or /proc). It SHOULD be
 reasonably human-readable. The value of this field MUST be encodable as 7-bit
-ASCII and match the regular expression "^[a-zA-Z0-9_-]+$". </p>
-</td>
+ASCII and match the regular expression &ldquo;^[a-zA-Z0-9_-]+$&rdquo;. </td>
  </tr>
  <tr>
-    <td>
-<p>HOST</p>
-</td>
-    <td>
-<p>A string that uniquely identifies the host the build was built on, in
+    <td>HOST</td>
+    <td>A string that uniquely identifies the host the build was built on, in
 human-readable format. There are no requirements on the specific format of this
-field, except that it MUST NOT be null or the empty string ("").</p>
-</td>
+field, except that it MUST NOT be null or the empty string ("").</td>
  </tr>
  <tr>
-    <td>
-<p>ID</p>
-</td>
-    <td>
-<p>An identifier chosen by the device implementer to refer to a specific release,
+    <td>ID</td>
+    <td>An identifier chosen by the device implementer to refer to a specific release,
 in human-readable format. This field can be the same as
 android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value sufficiently
 meaningful for end users to distinguish between software builds. The value of
-this field MUST be encodable as 7-bit ASCII and match the regular expression
-"^[a-zA-Z0-9._-]+$".</p>
-</td>
+this field MUST be encodable as 7-bit ASCII and match the regular expression &ldquo;^[a-zA-Z0-9._-]+$&rdquo;.</td>
  </tr>
  <tr>
-    <td>
-<p>MANUFACTURER</p>
-</td>
-    <td>
-<p>The trade name of the Original Equipment Manufacturer (OEM) of the product.
+    <td>MANUFACTURER</td>
+    <td>The trade name of the Original Equipment Manufacturer (OEM) of the product.
 There are no requirements on the specific format of this field, except that it
-MUST NOT be null or the empty string ("").</p>
-</td>
+MUST NOT be null or the empty string ("").</td>
  </tr>
  <tr>
-    <td>
-<p>MODEL</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer containing the name of the device as
+    <td>MODEL</td>
+    <td>A value chosen by the device implementer containing the name of the device as
 known to the end user. This SHOULD be the same name under which the device is
 marketed and sold to end users. There are no requirements on the specific
-format of this field, except that it MUST NOT be null or the empty string ("").</p>
-</td>
+format of this field, except that it MUST NOT be null or the empty string ("").</td>
  </tr>
  <tr>
-    <td>
-<p>PRODUCT</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer containing the development name or
+    <td>PRODUCT</td>
+    <td>A value chosen by the device implementer containing the development name or
 code name of the specific product (SKU) that MUST be unique within the same
 brand. MUST be human-readable, but is not necessarily intended for view by end
 users. The value of this field MUST be encodable as 7-bit ASCII and match the
-regular expression "^[a-zA-Z0-9_-]+$".</p>
-</td>
+regular expression &ldquo;^[a-zA-Z0-9_-]+$&rdquo;.</td>
  </tr>
  <tr>
-    <td>
-<p>SERIAL</p>
-</td>
-    <td>
-<p>A hardware serial number, which MUST be available. The value of this field MUST
-be encodable as 7-bit ASCII and match the regular expression
-"^([a-zA-Z0-9]{6,20})$".</p>
-</td>
+    <td>SERIAL</td>
+    <td>A hardware serial number, which MUST be available. The value of this field MUST
+be encodable as 7-bit ASCII and match the regular expression &ldquo;^([a-zA-Z0-9]{6,20})$&rdquo;.</td>
  </tr>
  <tr>
-    <td>
-<p>TAGS</p>
-</td>
-    <td>
-<p>A comma-separated list of tags chosen by the device implementer that further
+    <td>TAGS</td>
+    <td>A comma-separated list of tags chosen by the device implementer that further
 distinguishes the build. This field MUST have one of the values corresponding
 to the three typical Android platform signing configurations: release-keys,
-dev-keys, test-keys. </p>
-</td>
+dev-keys, test-keys. </td>
  </tr>
  <tr>
-    <td>
-<p>TIME</p>
-</td>
-    <td>
-<p>A value representing the timestamp of when the build occurred.</p>
-</td>
+    <td>TIME</td>
+    <td>A value representing the timestamp of when the build occurred.</td>
  </tr>
  <tr>
-    <td>
-<p>TYPE</p>
-</td>
-    <td>
-<p>A value chosen by the device implementer specifying the runtime configuration
+    <td>TYPE</td>
+    <td>A value chosen by the device implementer specifying the runtime configuration
 of the build. This field MUST have one of the values corresponding to the three
-typical Android runtime configurations: user, userdebug, or eng.</p>
-</td>
+typical Android runtime configurations: user, userdebug, or eng.</td>
  </tr>
  <tr>
-    <td>
-<p>USER</p>
-</td>
-    <td>
-<p>A name or user ID of the user (or automated user) that generated the build.
+    <td>USER</td>
+    <td>A name or user ID of the user (or automated user) that generated the build.
 There are no requirements on the specific format of this field, except that it
-MUST NOT be null or the empty string ("").</p>
-</td>
+MUST NOT be null or the empty string ("").</td>
  </tr>
 </table>
 
 
-<h3 id=3_2_3_intent_compatibility>3.2.3. Intent Compatibility</h3>
+<h3 id="3_2_3_intent_compatibility">3.2.3. Intent Compatibility</h3>
 
 
-<p>Device implementations MUST honor Android's loose-coupling intent system, as
-described in the sections below. By "honored", it is meant that the device
+<p>Device implementations MUST honor Android&rsquo;s loose-coupling intent system, as
+described in the sections below. By&ldquo;honored &rdquo; it is meant that the device
 implementer MUST provide an Android Activity or Service that specifies a
 matching intent filter that binds to and implements correct behavior for each
 specified intent pattern.</p>
 
-<h4 id=3_2_3_1_core_application_intents>3.2.3.1. Core Application Intents</h4>
+<h4 id="3_2_3_1_core_application_intents">3.2.3.1. Core Application Intents</h4>
 
 
 <p>Android intents allow application components to request functionality from
@@ -968,43 +739,42 @@
 intent patterns to perform common actions. The core Android applications are:</p>
 
 <ul>
-  <li> Desk Clock
-  <li> Browser 
-  <li> Calendar
-  <li> Contacts
-  <li> Gallery
-  <li> GlobalSearch
-  <li> Launcher
-  <li> Music
-  <li> Settings
+  <li>Desk Clock</li>
+  <li>Browser</li>
+  <li>Calendar</li>
+  <li>Contacts</li>
+  <li>Gallery</li>
+  <li>GlobalSearch</li>
+  <li>Launcher</li>
+  <li>Music</li>
+  <li>Settings</li>
 </ul>
 
 <p>Device implementations SHOULD include the core Android applications as
 appropriate but MUST include a component implementing the same intent patterns
-defined by all the “public” Activity or Service components of these core
+defined by all the &ldquo;public&rdquo; Activity or Service components of these core
 Android applications. Note that Activity or Service components are considered
-"public" when the attribute android:exported is absent or has the value true.</p>
+&ldquo;public&rdquo; when the attribute android:exported is absent or has the value true.</p>
 
-<h4 id=3_2_3_2_intent_overrides>3.2.3.2. Intent Overrides</h4>
+<h4 id="3_2_3_2_intent_overrides">3.2.3.2. Intent Overrides</h4>
 
 
 <p>As Android is an extensible platform, device implementations MUST allow each
-intent pattern referenced in <a href="#heading=h.qiy4ddbiirgy">section 3.2.3.1</a> to be overridden by third-party applications. The upstream Android open source
+intent pattern referenced in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a> to be overridden by third-party applications. The upstream Android open source
 implementation allows this by default; device implementers MUST NOT attach
 special privileges to system applications' use of these intent patterns, or
 prevent third-party applications from binding to and assuming control of these
 patterns. This prohibition specifically includes but is not limited to
-disabling the "Chooser" user interface that allows the user to select between
+disabling the&ldquo;Chooser&rdquo; user interface that allows the user to select between
 multiple applications that all handle the same intent pattern.</p>
 
 <p>However, device implementations MAY provide default activities for specific URI
 patterns (eg. http://play.google.com) if the default activity provides a more
 specific filter for the data URI. For example, an intent filter specifying the
-data URI "http://www.android.com" is more specific than the browser filter for
-"http://". Device implementations MUST provide a user interface for users to
+data URI &ldquo;http://www.android.com&rdquo; is more specific than the browser filter for&ldquo;http://&rdquo;. Device implementations MUST provide a user interface for users to
 modify the default activity for intents.</p>
 
-<h4 id=3_2_3_3_intent_namespaces>3.2.3.3. Intent Namespaces</h4>
+<h4 id="3_2_3_3_intent_namespaces">3.2.3.3. Intent Namespaces</h4>
 
 
 <p>Device implementations MUST NOT include any Android component that honors any
@@ -1013,11 +783,11 @@
 NOT include any Android components that honor any new intent or broadcast
 intent patterns using an ACTION, CATEGORY, or other key string in a package
 space belonging to another organization. Device implementers MUST NOT alter or
-extend any of the intent patterns used by the core apps listed in <a href="#heading=h.qiy4ddbiirgy">section 3.2.3.1</a>. Device implementations MAY include intent patterns using namespaces clearly
+extend any of the intent patterns used by the core apps listed in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a>. Device implementations MAY include intent patterns using namespaces clearly
 and obviously associated with their own organization. This prohibition is
-analogous to that specified for Java language classes in <a href="#heading=h.blmhfmxlmvir">section 3.6</a>.</p>
+analogous to that specified for Java language classes in <a href="#3_6_api_namespaces">section 3.6</a>.</p>
 
-<h4 id=3_2_3_4_broadcast_intents>3.2.3.4. Broadcast Intents</h4>
+<h4 id="3_2_3_4_broadcast_intents">3.2.3.4. Broadcast Intents</h4>
 
 
 <p>Third-party applications rely on the platform to broadcast certain intents to
@@ -1026,7 +796,7 @@
 response to appropriate system events. Broadcast intents are described in the
 SDK documentation.</p>
 
-<h4 id=3_2_3_5_default_app_settings>3.2.3.5. Default App Settings</h4>
+<h4 id="3_2_3_5_default_app_settings">3.2.3.5. Default App Settings</h4>
 
 
 <p>Android includes settings that provide users an easy way to select their
@@ -1038,22 +808,22 @@
 <p>Device implementations:</p>
 
 <ul>
-  <li> MUST honor the android.settings.HOME_SETTINGS intent to show a default app
+  <li>MUST honor the android.settings.HOME_SETTINGS intent to show a default app
 settings menu for Home Screen, if the device implementation reports
-android.software.home_screen [<a href="http://developer.android.com/reference/android/provider/Settings.html">Resources, 10]</a>
-  <li> MUST provide a settings menu that will call the
+android.software.home_screen [<a href="http://developer.android.com/reference/android/provider/Settings.html">Resources, 10]</a></li>
+  <li>MUST provide a settings menu that will call the
 android.provider.Telephony.ACTION_CHANGE_DEFAULT intent to show a dialog to
 change the default SMS application, if the device implementation reports
-android.hardware.telephony [<a href="https://developer.android.com/reference/android/provider/Telephony.Sms.Intents.html">Resources, 9</a>] 
-  <li> MUST honor the android.settings.NFC_PAYMENT_SETTINGS intent to show a default
+android.hardware.telephony [<a href="http://developer.android.com/reference/android/provider/Telephony.Sms.Intents.html">Resources, 9</a>]</li>
+  <li>MUST honor the android.settings.NFC_PAYMENT_SETTINGS intent to show a default
 app settings menu for Tap and Pay, if the device implementation reports
-android.hardware.nfc.hce [<a href="http://developer.android.com/reference/android/provider/Settings.html">Resources, 10]</a>
+android.hardware.nfc.hce [<a href="http://developer.android.com/reference/android/provider/Settings.html">Resources, 10]</a></li>
 </ul>
 
-<h2 id=3_3_native_api_compatibility>3.3. Native API Compatibility</h2>
+<h2 id="3_3_native_api_compatibility">3.3. Native API Compatibility</h2>
 
 
-<h3 id=3_3_1_application_binary_interfaces>3.3.1 Application Binary Interfaces</h3>
+<h3 id="3_3_1_application_binary_interfaces">3.3.1 Application Binary Interfaces</h3>
 
 
 <p>Managed Dalvik bytecode can call into native code provided in the application
@@ -1066,44 +836,44 @@
 <p>If a device implementation includes support for an Android ABI, it:</p>
 
 <ul>
-  <li> MUST include support for code running in the managed environment to call into
-native code, using the standard Java Native Interface (JNI) semantics
-  <li> MUST be source-compatible (i.e. header compatible) and binary-compatible (for
-the ABI) with each required library in the list below
-  <li> MUST support the equivalent 32-bit ABI if any 64-bit ABI is supported
-  <li> MUST accurately report the native Application Binary Interface (ABI) supported
+  <li>MUST include support for code running in the managed environment to call into
+native code, using the standard Java Native Interface (JNI) semantics</li>
+  <li>MUST be source-compatible (i.e. header compatible) and binary-compatible (for
+the ABI) with each required library in the list below</li>
+  <li>MUST support the equivalent 32-bit ABI if any 64-bit ABI is supported</li>
+  <li>MUST accurately report the native Application Binary Interface (ABI) supported
 by the device, via the android.os.Build.SUPPORTED_ABIS,
 android.os.Build.SUPPORTED_32_BIT_ABIS, and
 android.os.Build.SUPPORTED_64_BIT_ABIS parameters, each a comma separated list
-of ABIs ordered from the most to the least preferred one
-  <li> MUST report, via the above parameters, only those ABIs documented in the latest
-version of the Android NDK, “NDK Programmer's Guide | ABI Management” in docs/
-directory
-  <li> SHOULD be built using the source code and header files available in the
-upstream Android Open Source Project
+of ABIs ordered from the most to the least preferred one</li>
+  <li>MUST report, via the above parameters, only those ABIs documented in the latest
+version of the Android NDK, &ldquo;NDK Programmer&rsquo;s Guide | ABI Management&rdquo; in docs/
+directory</li>
+  <li>SHOULD be built using the source code and header files available in the
+upstream Android Open Source Project</li>
 </ul>
 
 <p>The following native code APIs MUST be available to apps that include native
 code:</p>
 
 <ul>
-  <li> libc (C library)
-  <li> libm (math library)
-  <li> Minimal support for C++
-  <li> JNI interface
-  <li> liblog (Android logging)
-  <li> libz (Zlib compression)
-  <li> libdl (dynamic linker)
-  <li> libGLESv1_CM.so (OpenGL ES 1.x)
-  <li> libGLESv2.so (OpenGL ES 2.0)
-  <li> libGLESv3.so (OpenGL ES 3.x)
-  <li> libEGL.so (native OpenGL surface management)
-  <li> libjnigraphics.so
-  <li> libOpenSLES.so (OpenSL ES 1.0.1 audio support)
-  <li> libOpenMAXAL.so (OpenMAX AL 1.0.1 support)
-  <li> libandroid.so (native Android activity support)
-  <li> libmediandk.so (native media APIs support)
-  <li> Support for OpenGL, as described below
+  <li>libc (C library)</li>
+  <li>libm (math library)</li>
+  <li>Minimal support for C++</li>
+  <li>JNI interface</li>
+  <li>liblog (Android logging)</li>
+  <li>libz (Zlib compression)</li>
+  <li>libdl (dynamic linker)</li>
+  <li>libGLESv1_CM.so (OpenGL ES 1.x)</li>
+  <li>libGLESv2.so (OpenGL ES 2.0)</li>
+  <li>libGLESv3.so (OpenGL ES 3.x)</li>
+  <li>libEGL.so (native OpenGL surface management)</li>
+  <li>libjnigraphics.so</li>
+  <li>libOpenSLES.so (OpenSL ES 1.0.1 audio support)</li>
+  <li>libOpenMAXAL.so (OpenMAX AL 1.0.1 support)</li>
+  <li>libandroid.so (native Android activity support)</li>
+  <li>libmediandk.so (native media APIs support)</li>
+  <li>Support for OpenGL, as described below</li>
 </ul>
 
 <p>Note that future releases of the Android NDK may introduce support for
@@ -1121,21 +891,16 @@
 are <strong>very strongly encouraged</strong> to use the implementations of the libraries listed above from the upstream
 Android Open Source Project. </p>
 
-<h2 id=3_4_web_compatibility>3.4. Web Compatibility</h2>
+<h2 id="3_4_web_compatibility">3.4. Web Compatibility</h2>
 
 
-<h3 id=3_4_1_webview_compatibility>3.4.1. WebView Compatibility</h3>
+<h3 id="3_4_1_webview_compatibility">3.4.1. WebView Compatibility</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>The complete implementation of the android.webkit.Webview API MAY be provided
 on Android Watch devices but MUST be provided on all other types of device
 implementations.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>The platform feature android.software.webview MUST be reported on any device
@@ -1147,62 +912,54 @@
 Chromium in the WebView implementation. Specifically:</p>
 
 <ul>
-  <li> Device android.webkit.WebView implementations MUST be based on the Chromium
+  <li>Device android.webkit.WebView implementations MUST be based on the Chromium
 build from the upstream Android Open Source Project for Android 5.1. This build
-includes a specific set of functionality and security fixes for the WebView [<a href="http://www.chromium.org/">Resources, 13</a>].
-  <li> The user agent string reported by the WebView MUST be in this format: 
-</ul>
-
+includes a specific set of functionality and security fixes for the WebView [<a href="http://www.chromium.org/">Resources, 13</a>].</li>
+  <li>The user agent string reported by the WebView MUST be in this format:
 <p>Mozilla/5.1 (Linux; Android $(VERSION); $(MODEL) Build/$(BUILD))
 AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 $(CHROMIUM_VER) Mobile
 Safari/537.36</p>
   <ul>
-    <li> The value of the $(VERSION) string MUST be the same as the value for
-android.os.Build.VERSION.RELEASE.
-    <li> The value of the $(MODEL) string MUST be the same as the value for
-android.os.Build.MODEL.
-    <li> The value of the $(BUILD) string MUST be the same as the value for
-android.os.Build.ID.
-    <li> The value of the $(CHROMIUM_VER) string MUST be the version of Chromium in the
-upstream Android Open Source Project.
-    <li> Device implementations MAY omit Mobile in the user agent string.
-  </ul>
+    <li>The value of the $(VERSION) string MUST be the same as the value for
+android.os.Build.VERSION.RELEASE.</li>
+    <li>The value of the $(MODEL) string MUST be the same as the value for
+android.os.Build.MODEL.</li>
+    <li>The value of the $(BUILD) string MUST be the same as the value for
+android.os.Build.ID.</li>
+    <li>The value of the $(CHROMIUM_VER) string MUST be the version of Chromium in the
+upstream Android Open Source Project.</li>
+    <li>Device implementations MAY omit Mobile in the user agent string.</li>
+  </ul></li></ul>
 
 <p>The WebView component SHOULD include support for as many HTML5 features as
 possible and if it supports the feature SHOULD conform to the HTML5
-specification [<a href="https://www.google.com/url?q=https%3A%2F%2Fhtml.spec.whatwg.org%2Fmultipage%2F&sa=D&sntz=1&usg=AFQjCNH7pPjEWho8n19H_n0ZXrQbI9RVlg">Resources, 14</a>].</p>
+specification [<a href="http://html.spec.whatwg.org/multipage/">Resources, 14</a>].</p>
 
-<h3 id=3_4_2_browser_compatibility>3.4.2. Browser Compatibility</h3>
+<h3 id="3_4_2_browser_compatibility">3.4.2. Browser Compatibility</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Television and Watch Devices MAY omit a browser application, but MUST
-support the public intent patterns as described in <a href="#heading=h.qiy4ddbiirgy">section 3.2.3.1</a>. All other types of device implementations MUST include a standalone Browser
-application for general user web browsing. </p>
-</td>
- </tr>
-</table>
-
+support the public intent patterns as described in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a>. All other types of device implementations MUST include a standalone Browser
+application for general user web browsing.</p>
+</div>
 
 <p>The standalone Browser MAY be based on a browser technology other than WebKit.
 However, even if an alternate Browser application is used, the
 android.webkit.WebView component provided to third-party applications MUST be
-based on WebKit, as described in <a href="#heading=h.swqsalizdkk8">section 3.4.1</a>.</p>
+based on WebKit, as described in <a href="#3_4_1_webview_compatibility">section 3.4.1</a>.</p>
 
 <p>Implementations MAY ship a custom user agent string in the standalone Browser
 application.</p>
 
 <p>The standalone Browser application (whether based on the upstream WebKit
 Browser application or a third-party replacement) SHOULD include support for as
-much of HTML5 [<a href="https://www.google.com/url?q=https%3A%2F%2Fhtml.spec.whatwg.org%2Fmultipage%2F&sa=D&sntz=1&usg=AFQjCNH7pPjEWho8n19H_n0ZXrQbI9RVlg">Resources, 14</a>] as possible. Minimally, device implementations MUST support each of these
+much of HTML5 [<a href="http://html.spec.whatwg.org/multipage/">Resources, 14</a>] as possible. Minimally, device implementations MUST support each of these
 APIs associated with HTML5:</p>
 
 <ul>
-  <li> application cache/offline operation [<a href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#offline">Resources, 15</a>]
-  <li> the <video> tag [<a href="http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#video">Resources, 16</a>]
-  <li> geolocation [<a href="http://www.w3.org/TR/geolocation-API/">Resources, 17</a>]
+  <li>application cache/offline operation [<a href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#offline">Resources, 15</a>]</li>
+  <li>the &#60;video&#62; tag [<a href="http://www.w3.org/html/wg/drafts/html/master/semantics.html#video">Resources, 16</a>]</li>
+  <li>geolocation [<a href="http://www.w3.org/TR/geolocation-API/">Resources, 17</a>]</li>
 </ul>
 
 <p>Additionally, device implementations MUST support the HTML5/W3C webstorage API
@@ -1210,7 +967,7 @@
 IndexedDB over webstorage, IndexedDB is expected to become a required component
 in a future version of Android.</p>
 
-<h2 id=3_5_api_behavioral_compatibility>3.5. API Behavioral Compatibility</h2>
+<h2 id="3_5_api_behavioral_compatibility">3.5. API Behavioral Compatibility</h2>
 
 
 <p>The behaviors of each of the API types (managed, soft, native, and web) must be
@@ -1218,10 +975,10 @@
 Source Project [<a href="http://source.android.com/">Resources, 2</a>]. Some specific areas of compatibility are:</p>
 
 <ul>
-  <li> Devices MUST NOT change the behavior or semantics of a standard intent.
-  <li> Devices MUST NOT alter the lifecycle or lifecycle semantics of a particular
-type of system component (such as Service, Activity, ContentProvider, etc.).
-  <li> Devices MUST NOT change the semantics of a standard permission.
+  <li>Devices MUST NOT change the behavior or semantics of a standard intent.</li>
+  <li>Devices MUST NOT alter the lifecycle or lifecycle semantics of a particular
+type of system component (such as Service, Activity, ContentProvider, etc.).</li>
+  <li>Devices MUST NOT change the semantics of a standard permission.</li>
 </ul>
 
 <p>The above list is not comprehensive. The Compatibility Test Suite (CTS) tests
@@ -1231,7 +988,7 @@
 SHOULD use the source code available via the Android Open Source Project where
 possible, rather than re-implement significant parts of the system.</p>
 
-<h2 id=3_6_api_namespaces>3.6. API Namespaces</h2>
+<h2 id="3_6_api_namespaces">3.6. API Namespaces</h2>
 
 
 <p>Android follows the package and class namespace conventions defined by the Java
@@ -1240,29 +997,28 @@
 these package namespaces:</p>
 
 <ul>
-  <li> java.*
-  <li> javax.*
-  <li> sun.*
-  <li> android.*
-  <li> com.android.*
+  <li>java.*</li>
+  <li>javax.*</li>
+  <li>sun.*</li>
+  <li>android.*</li>
+  <li>com.android.*</li>
 </ul>
 
 <p><strong>Prohibited modifications include</strong>:</p>
 
 <ul>
-  <li> Device implementations MUST NOT modify the publicly exposed APIs on the Android
+  <li>Device implementations MUST NOT modify the publicly exposed APIs on the Android
 platform by changing any method or class signatures, or by removing classes or
-class fields.
-  <li> Device implementers MAY modify the underlying implementation of the APIs, but
+class fields.</li>
+  <li>Device implementers MAY modify the underlying implementation of the APIs, but
 such modifications MUST NOT impact the stated behavior and Java-language
-signature of any publicly exposed APIs.
-  <li> Device implementers MUST NOT add any publicly exposed elements (such as classes
+signature of any publicly exposed APIs.</li>
+  <li>Device implementers MUST NOT add any publicly exposed elements (such as classes
 or interfaces, or fields or methods to existing classes or interfaces) to the
-APIs above.
+APIs above.</li>
 </ul>
 
-<p>A "publicly exposed element” is any construct which is not decorated with the
-"@hide" marker as used in the upstream Android source code. In other words,
+<p>A &ldquo;publicly exposed element&rdquo; is any construct which is not decorated with the&ldquo;@hide&rdquo; marker as used in the upstream Android source code. In other words,
 device implementers MUST NOT expose new APIs or alter existing APIs in the
 namespaces noted above. Device implementers MAY make internal-only
 modifications, but those modifications MUST NOT be advertised or otherwise
@@ -1280,7 +1036,7 @@
 
 <p>If a device implementer proposes to improve one of the package namespaces above
 (such as by adding useful new functionality to an existing API, or adding a new
-API), the implementer SHOULD visit <a href="https://source.android.com/">source.android.com</a> and begin the process for contributing changes and code, according to the
+API), the implementer SHOULD visit <a href="http://source.android.com/">source.android.com</a> and begin the process for contributing changes and code, according to the
 information on that site.</p>
 
 <p>Note that the restrictions above correspond to standard conventions for naming
@@ -1288,298 +1044,153 @@
 those conventions and make them binding through inclusion in this Compatibility
 Definition.</p>
 
-<h2 id=3_7_runtime_compatibility>3.7. Runtime Compatibility</h2>
+<h2 id="3_7_runtime_compatibility">3.7. Runtime Compatibility</h2>
 
 
 <p>Device implementations MUST support the full Dalvik Executable (DEX) format and
 Dalvik bytecode specification and semantics [<a href="https://android.googlesource.com/platform/dalvik/+/lollipop-release/docs/">Resources, 20</a>]. Device implementers SHOULD use ART, the reference upstream implementation of
-the Dalvik Executable Format, and the reference implementation's package
+the Dalvik Executable Format, and the reference implementation&rsquo;s package
 management system.</p>
 
 <p>Device implementations MUST configure Dalvik runtimes to allocate memory in
 accordance with the upstream Android platform, and as specified by the
-following table. (See <a href="#heading=h.6fey5v3qb5m3">section 7.1.1</a> for screen size and screen density definitions.)</p>
+following table. (See <a href="#7_1_1_screen_configuration">section 7.1.1</a> for screen size and screen density definitions.)</p>
 
 <p>Note that memory values specified below are considered minimum values and
 device implementations MAY allocate more memory per application.</p>
+
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Screen Layout</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Screen Density</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Minimum Application Memory</strong></p>
-</td>
+    <th>Screen Layout</th>
+    <th>Screen Density</th>
+    <th>Minimum Application Memory</th>
  </tr>
  <tr>
-    <td>
-<p>small / normal</p>
-</td>
-    <td>
-<p>120 dpi (ldpi) </p>
-</td>
-    <td>
-<p>16MB</p>
-</td>
+    <td rowspan="10">small/normal</td>
+    <td>120 dpi (ldpi)</td>
+    <td>16MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>160 dpi (mdpi)</p>
-</td>
+    <td>160 dpi (mdpi)</td>
     <td></td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>213 dpi (tvdpi)</p>
-</td>
-    <td>
-<p>32MB</p>
-</td>
+    <td>213 dpi (tvdpi)</td>
+    <td>32MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>240 dpi (hdpi)</p>
-</td>
+    <td>240 dpi (hdpi)</td>
     <td></td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>280 dpi (280dpi)</p>
-    </td>
-    <td>
-<p>48MB</p>
-    </td>
+    <td>280 dpi (280dpi)</td>
+    <td>48MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>320 dpi (xhdpi)</p>
-</td>
-    <td>
-<p>64MB</p>
-</td>
+    <td>320 dpi (xhdpi)</td>
+    <td>64MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>400 dpi (400dpi)</p>
-</td>
-    <td>
-<p>96MB</p>
-</td>
+    <td>400 dpi (400dpi)</td>
+    <td>96MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>480 dpi (xxhdpi)</p>
-</td>
-    <td>
-<p>128MB</p>
-</td>
+    <td>480 dpi (xxhdpi)</td>
+    <td>128MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>560 dpi (560dpi)</p>
-</td>
-    <td>
-<p>192MB</p>
-</td>
+    <td>560 dpi (560dpi)</td>
+    <td>192MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>640 dpi (xxxhdpi)</p>
-</td>
-    <td>
-<p>256MB</p>
-</td>
+    <td>640 dpi (xxxhdpi)</td>
+    <td>256MB</td>
  </tr>
  <tr>
-    <td>
-<p>large</p>
-</td>
-    <td>
-<p>120 dpi (ldpi) </p>
-</td>
-    <td>
-<p>16MB</p>
-</td>
+    <td rowspan="10">large</td>
+    <td>120 dpi (ldpi)</td>
+    <td>16MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>160 dpi (mdpi)</p>
-</td>
-    <td>
-<p>32MB</p>
-</td>
+    <td>160 dpi (mdpi)</td>
+    <td>32MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>213 dpi (tvdpi)</p>
-</td>
-    <td>
-<p>64MB</p>
-</td>
+    <td>213 dpi (tvdpi)</td>
+    <td>64MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>240 dpi (hdpi)</p>
-</td>
+    <td>240 dpi (hdpi)</td>
     <td></td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>280 dpi (280dpi)</p>
-    </td>
-    <td>
-<p>96MB</p>
-    </td>
+    <td>280 dpi (280dpi)</td>
+    <td>96MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>320 dpi (xhdpi)</p>
-</td>
-    <td>
-<p>128MB</p>
-</td>
+    <td>320 dpi (xhdpi)</td>
+    <td>128MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>400 dpi (400dpi)</p>
-</td>
-    <td>
-<p>192MB</p>
-</td>
+    <td>400 dpi (400dpi)</td>
+    <td>192MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>480 dpi (xxhdpi)</p>
-</td>
-    <td>
-<p>256MB</p>
-</td>
+    <td>480 dpi (xxhdpi)</td>
+    <td>256MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>560 dpi (560dpi)</p>
-</td>
-    <td>
-<p>384MB</p>
-</td>
+    <td>560 dpi (560dpi)</td>
+    <td>384MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>640 dpi (xxxhdpi)</p>
-</td>
-    <td>
-<p>512MB</p>
-</td>
+    <td>640 dpi (xxxhdpi)</td>
+    <td>512MB</td>
  </tr>
  <tr>
-    <td>
-<p>xlarge</p>
-</td>
-    <td>
-<p>160 dpi (mdpi)</p>
-</td>
-    <td>
-<p>64MB</p>
-</td>
+    <td rowspan="9">xlarge</td>
+    <td>160 dpi (mdpi)</td>
+    <td>64MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>213 dpi (tvdpi)</p>
-</td>
-    <td>
-<p>96MB</p>
-</td>
+    <td>213 dpi (tvdpi)</td>
+    <td>96MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>240 dpi (hdpi)</p>
-</td>
+    <td>240 dpi (hdpi)</td>
     <td></td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>280 dpi (280dpi)</p>
-    </td>
-    <td>
-<p>144MB</p>
-    </td>
+    <td>280 dpi (280dpi)</td>
+    <td>144MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>320 dpi (xhdpi)</p>
-</td>
-    <td>
-<p>192MB</p>
-</td>
+    <td>320 dpi (xhdpi)</td>
+    <td>192MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>400 dpi (400dpi)</p>
-</td>
-    <td>
-<p>288MB</p>
-</td>
+    <td>400 dpi (400dpi)</td>
+    <td>288MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>480 dpi (xxhdpi)</p>
-</td>
-    <td>
-<p>384MB</p>
-</td>
+    <td>480 dpi (xxhdpi)</td>
+    <td>384MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>560 dpi (560dpi)</p>
-</td>
-    <td>
-<p>576MB</p>
-</td>
+    <td>560 dpi (560dpi)</td>
+    <td>576MB</td>
  </tr>
  <tr>
-    <td></td>
-    <td>
-<p>640 dpi (xxxhdpi)</p>
-</td>
-    <td>
-<p>768MB</p>
-</td>
+    <td>640 dpi (xxxhdpi)</td>
+    <td>768MB</td>
  </tr>
 </table>
 
 
-<h2 id=3_8_user_interface_compatibility>3.8. User Interface Compatibility</h2>
+<h2 id="3_8_user_interface_compatibility">3.8. User Interface Compatibility</h2>
 
 
-<h3 id=3_8_1_launcher_home_screen>3.8.1. Launcher (Home Screen)</h3>
+<h3 id="3_8_1_launcher_home_screen">3.8.1. Launcher (Home Screen)</h3>
 
 
 <p>Android includes a launcher application (home screen) and support for
@@ -1587,49 +1198,44 @@
 implementations that allow third-party applications to replace the device home
 screen MUST declare the platform feature android.software.home_screen.</p>
 
-<h3 id=3_8_2_widgets>3.8.2. Widgets</h3>
+<h3 id="3_8_2_widgets">3.8.2. Widgets</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Widgets are optional for all Android device implementations, but SHOULD be
 supported on Android Handheld devices.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Android defines a component type and corresponding API and lifecycle that
-allows applications to expose an "AppWidget" to the end user [<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">Resources, 21</a>] a feature that is strongly RECOMMENDED to be supported on Handheld Device
+allows applications to expose an &ldquo;AppWidget&rdquo; to the end user [<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">Resources, 21</a>] a feature that is strongly RECOMMENDED to be supported on Handheld Device
 implementations. Device implementations that support embedding widgets on the
 home screen MUST meet the following requirements and declare support for
 platform feature android.software.app_widgets.</p>
 
 <ul>
-  <li> Device launchers MUST include built-in support for AppWidgets, and expose user
+  <li>Device launchers MUST include built-in support for AppWidgets, and expose user
 interface affordances to add, configure, view, and remove AppWidgets directly
-within the Launcher.
-  <li> Device implementations MUST be capable of rendering widgets that are 4 x 4 in
+within the Launcher.</li>
+  <li>Device implementations MUST be capable of rendering widgets that are 4 x 4 in
 the standard grid size. See the App Widget Design Guidelines in the Android SDK
-documentation [<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">Resources, 21</a>] for details.
-  <li> Device implementations that include support for lock screen MAY support
-application widgets on the lock screen.
+documentation [<a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">Resources, 21</a>] for details.</li>
+  <li>Device implementations that include support for lock screen MAY support
+application widgets on the lock screen.</li>
 </ul>
 
-<h3 id=3_8_3_notifications>3.8.3. Notifications</h3>
+<h3 id="3_8_3_notifications">3.8.3. Notifications</h3>
 
 
 <p>Android includes APIs that allow developers to notify users of notable events [<a href="http://developer.android.com/guide/topics/ui/notifiers/notifications.html">Resources, 22</a>], using hardware and software features of the device.</p>
 
 <p>Some APIs allow applications to perform notifications or attract attention
-using hardware—specifically sound, vibration, and light. Device implementations
+using hardware&#8212;specifically sound, vibration, and light. Device implementations
 MUST support notifications that use hardware features, as described in the SDK
 documentation, and to the extent possible with the device implementation
 hardware. For instance, if a device implementation includes a vibrator, it MUST
 correctly implement the vibration APIs. If a device implementation lacks
 hardware, the corresponding APIs MUST be implemented as no-ops. This behavior
-is further detailed in <a href="#heading=h.5h5uvpadidzr">section 7</a>.</p>
+is further detailed in <a href="#7_hardware_compatibility">section 7</a>.</p>
 
 <p>Additionally, the implementation MUST correctly render all resources (icons,
 sound files, etc.) provided for in the APIs [<a href="https://developer.android.com/guide/topics/resources/available-resources.html">Resources, 23</a>], or in the Status/System Bar icon style guide [<a href="http://developer.android.com/design/style/iconography.html">Resources, 24</a>]. Device implementers MAY provide an alternative user experience for
@@ -1640,13 +1246,13 @@
 <p>Android includes support for various notifications, such as:</p>
 
 <ul>
-  <li> <strong>Rich notifications</strong>—Interactive Views for ongoing notifications. 
-  <li> <strong>Heads-up notifications</strong>—Interactive Views users can act on or dismiss without leaving the current app.
-  <li> <strong>Lockscreen notifications</strong>—Notifications shown over a lock screen with granular control on visibility.
+  <li><strong>Rich notifications</strong>. Interactive Views for ongoing notifications.</li>
+  <li><strong>Heads-up notifications</strong>. Interactive Views users can act on or dismiss without leaving the current app.</li>
+  <li><strong>Lockscreen notifications</strong>. Notifications shown over a lock screen with granular control on visibility.</li>
 </ul>
 
 <p>Device implementations MUST properly display and execute these notifications,
-including the title/name, icon, text as documented in the Android APIs <a href="https://developer.android.com/design/patterns/notifications.html">[Resources, 25]</a>.</p>
+including the title/name, icon, text as documented in the Android APIs <a href="http://developer.android.com/design/patterns/notifications.html">[Resources, 25]</a>.</p>
 
 <p>Android includes Notification Listener Service APIs that allow apps (once
 explicitly enabled by the user) to receive a copy of all notifications as they
@@ -1654,11 +1260,11 @@
 notifications in their entirety to all such installed and user-enabled listener
 services, including any and all metadata attached to the Notification object.</p>
 
-<h3 id=3_8_4_search>3.8.4. Search</h3>
+<h3 id="3_8_4_search">3.8.4. Search</h3>
 
 
 <p>Android includes APIs [<a href="http://developer.android.com/reference/android/app/SearchManager.html">Resources, 26</a>] that allow developers to incorporate search into their applications, and
-expose their application's data into the global system search. Generally
+expose their application&rsquo;s data into the global system search. Generally
 speaking, this functionality consists of a single, system-wide user interface
 that allows users to enter queries, displays suggestions as users type, and
 displays results. The Android APIs allow developers to reuse this interface to
@@ -1675,31 +1281,31 @@
 applications are installed that make use of this functionality, the default
 behavior SHOULD be to display web search engine results and suggestions.</p>
 
-<h3 id=3_8_5_toasts>3.8.5. Toasts</h3>
+<h3 id="3_8_5_toasts">3.8.5. Toasts</h3>
 
 
-<p>Applications can use the "Toast" API to display short non-modal strings to the
+<p>Applications can use the &ldquo;Toast&rdquo; API to display short non-modal strings to the
 end user, that disappear after a brief period of time [<a href="http://developer.android.com/reference/android/widget/Toast.html">Resources, 27</a>]. Device implementations MUST display Toasts from applications to end users in
 some high-visibility manner.</p>
 
-<h3 id=3_8_6_themes>3.8.6. Themes</h3>
+<h3 id="3_8_6_themes">3.8.6. Themes</h3>
 
 
-<p>Android provides "themes" as a mechanism for applications to apply styles
+<p>Android provides &ldquo;themes&rdquo; as a mechanism for applications to apply styles
 across an entire Activity or application.</p>
 
-<p>Android includes a "Holo" theme family as a set of defined styles for
+<p>Android includes a &ldquo;Holo&rdquo; theme family as a set of defined styles for
 application developers to use if they want to match the Holo theme look and
 feel as defined by the Android SDK [<a href="http://developer.android.com/guide/topics/ui/themes.html">Resources, 28</a>]. Device implementations MUST NOT alter any of the Holo theme attributes
 exposed to applications [<a href="http://developer.android.com/reference/android/R.style.html">Resources, 29</a>].</p>
 
-<p>Android includes a “Material” theme family as a set of defined styles for
-application developers to use if they want to match the design theme’s look and
+<p>Android includes a &ldquo;Material&rdquo; theme family as a set of defined styles for
+application developers to use if they want to match the design theme&rsquo;s look and
 feel across the wide variety of different Android device types. Device
-implementations MUST support the “Material” theme family and MUST NOT alter any
+implementations MUST support the &ldquo;Material&rdquo; theme family and MUST NOT alter any
 of the Material theme attributes or their assets exposed to applications [<a href="http://developer.android.com/reference/android/R.style.html#Theme_Material">Resources, 30</a>].</p>
 
-<p>Android also includes a "Device Default" theme family as a set of defined
+<p>Android also includes a &ldquo;Device Default&rdquo; theme family as a set of defined
 styles for application developers to use if they want to match the look and
 feel of the device theme as defined by the device implementer. Device
 implementations MAY modify the Device Default theme attributes exposed to
@@ -1714,11 +1320,11 @@
 level) and notifications issued by the system, unless the icon is indicating a
 problematic status [<a href="http://developer.android.com/reference/android/R.style.html">Resources, 29</a>].</p>
 
-<h3 id=3_8_7_live_wallpapers>3.8.7. Live Wallpapers</h3>
+<h3 id="3_8_7_live_wallpapers">3.8.7. Live Wallpapers</h3>
 
 
 <p>Android defines a component type and corresponding API and lifecycle that
-allows applications to expose one or more "Live Wallpapers" to the end user [<a href="http://developer.android.com/reference/android/service/wallpaper/WallpaperService.html">Resources, 31</a>]. Live wallpapers are animations, patterns, or similar images with limited
+allows applications to expose one or more &ldquo;Live Wallpapers&rdquo; to the end user [<a href="http://developer.android.com/reference/android/service/wallpaper/WallpaperService.html">Resources, 31</a>]. Live wallpapers are animations, patterns, or similar images with limited
 input capabilities that display as a wallpaper, behind other applications.</p>
 
 <p>Hardware is considered capable of reliably running live wallpapers if it can
@@ -1736,39 +1342,34 @@
 above SHOULD implement live wallpapers, and when implemented MUST report the
 platform feature flag android.software.live_wallpaper.</p>
 
-<h3 id=3_8_8_activity_switching>3.8.8. Activity Switching</h3>
+<h3 id="3_8_8_activity_switching">3.8.8. Activity Switching</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>As the Recent function navigation key is OPTIONAL, the requirements to
 implement the overview screen is OPTIONAL for Android Television devices and
 Android Watch devices.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>The upstream Android source code includes the overview screen [<a href="http://developer.android.com/guide/components/recents.html">Resources, 32</a>], a system-level user interface for task switching and displaying recently
-accessed activities and tasks using a thumbnail image of the application's
+accessed activities and tasks using a thumbnail image of the application&rsquo;s
 graphical state at the moment the user last left the application. Device
-implementations including the recents function navigation key as detailed in <a href="#heading=h.dzfhwcjzm5z6">section 7.2.3</a>, MAY alter the interface but MUST meet the following requirements:</p>
+implementations including the recents function navigation key as detailed in <a href="#7_2_3_navigation_keys">section 7.2.3</a>, MAY alter the interface but MUST meet the following requirements:</p>
 
 <ul>
-  <li> MUST display affiliated recents as a group that moves together
-  <li> MUST support at least up to 20 displayed activities
-  <li> MUST at least display the title of 4 activities at a time
-  <li> SHOULD display highlight color, icon, screen title in recents
-  <li> MUST implement the screen pinning behavior [<a href="https://developer.android.com/about/versions/android-5.0.html#ScreenPinning">Resources, 33</a>] and provide the user with a settings menu to toggle the feature
-  <li> SHOULD display a closing affordance ("x") but MAY delay this until user
-interacts with screens 
+  <li>MUST display affiliated recents as a group that moves together.</li>
+  <li>MUST support at least up to 20 displayed activities.</li>
+  <li>MUST at least display the title of 4 activities at a time.</li>
+  <li>SHOULD display highlight color, icon, screen title in recents.</li>
+  <li>MUST implement the screen pinning behavior [<a href="http://developer.android.com/about/versions/android-5.0.html#ScreenPinning">Resources, 33</a>] and provide the user with a settings menu to toggle the feature.</li>
+  <li>SHOULD display a closing affordance ("x") but MAY delay this until user
+interacts with screens.</li>
 </ul>
 
 <p>Device implementations are STRONGLY ENCOURAGED to use the upstream Android user
 interface (or a similar thumbnail-based interface) for the overview screen.</p>
 
-<h3 id=3_8_9_input_management>3.8.9. Input Management</h3>
+<h3 id="3_8_9_input_management">3.8.9. Input Management</h3>
 
 
 <p>Android includes support for Input Management and support for third-party input
@@ -1781,15 +1382,15 @@
 methods. Device implementations MUST display the settings interface in response
 to the android.settings.INPUT_METHOD_SETTINGS intent.</p>
 
-<h3 id=3_8_10_lock_screen_media_control>3.8.10. Lock Screen Media Control</h3>
+<h3 id="3_8_10_lock_screen_media_control">3.8.10. Lock Screen Media Control</h3>
 
 
 <p>The Remote Control Client API is deprecated from Android 5.0 in favor of the
 Media Notification Template that allows media applications to integrate with
-playback controls that are displayed on the lock screen [<a href="https://developer.android.com/reference/android/app/Notification.MediaStyle.html">Resources, 35</a>]. Device implementations that support a lock screen in the device MUST support
+playback controls that are displayed on the lock screen [<a href="http://developer.android.com/reference/android/app/Notification.MediaStyle.html">Resources, 35</a>]. Device implementations that support a lock screen in the device MUST support
 the Media Notification Template along with other notifications.</p>
 
-<h3 id=3_8_11_dreams>3.8.11. Dreams</h3>
+<h3 id="3_8_11_dreams">3.8.11. Dreams</h3>
 
 
 <p>Android includes support for interactive screensavers called Dreams [<a href="http://developer.android.com/reference/android/service/dreams/DreamService.html">Resources, 36</a>]. Dreams allows users to interact with applications when a device connected to
@@ -1798,14 +1399,14 @@
 support for Dreams and provide a settings option for users to configure Dreams
 in response to the android.settings.DREAM_SETTINGS intent.</p>
 
-<h3 id=3_8_12_location>3.8.12. Location</h3>
+<h3 id="3_8_12_location">3.8.12. Location</h3>
 
 
 <p>When a device has a hardware sensor (e.g. GPS) that is capable of providing the
 location coordinates, location modes MUST be displayed in the Location menu
-within Settings [<a href="http://developer.android.com/reference/android/provider/Settings.Secure.html#LOCATION_MODE">Resources, 37</a>]. </p>
+within Settings [<a href="http://developer.android.com/reference/android/provider/Settings.Secure.html#LOCATION_MODE">Resources, 37</a>].</p>
 
-<h3 id=3_8_13_unicode_and_font>3.8.13. Unicode and Font</h3>
+<h3 id="3_8_13_unicode_and_font">3.8.13. Unicode and Font</h3>
 
 
 <p>Android includes support for color emoji characters. When Android device
@@ -1814,13 +1415,13 @@
 glyph.</p>
 
 <p>Android includes support for Roboto 2 font with different
-weights—sans-serif-thin, sans-serif-light, sans-serif-medium, sans-serif-black,
-sans-serif-condensed, sans-serif-condensed-light—which MUST all be included for
+weights&mdash;sans-serif-thin, sans-serif-light, sans-serif-medium, sans-serif-black,
+sans-serif-condensed, sans-serif-condensed-light&mdash;which MUST all be included for
 the languages available on the device and full Unicode 7.0 coverage of Latin,
 Greek, and Cyrillic, including the Latin Extended A, B, C, and D ranges, and
 all glyphs in the currency symbols block of Unicode 7.0.</p>
 
-<h2 id=3_9_device_administration>3.9. Device Administration</h2>
+<h2 id="3_9_device_administration">3.9. Device Administration</h2>
 
 
 <p>Android includes features that allow security-aware applications to perform
@@ -1835,7 +1436,7 @@
 administration functions but this application MUST NOT be set out-of-the box as
 the default Device Owner app [<a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isDeviceOwnerApp(java.lang.String)">Resources, 41</a>].</p>
 
-<h2 id=3_10_accessibility>3.10. Accessibility</h2>
+<h2 id="3_10_accessibility">3.10. Accessibility</h2>
 
 
 <p>Android provides an accessibility layer that helps users with disabilities to
@@ -1847,24 +1448,24 @@
 Device implementations MUST meet the following requirements:</p>
 
 <ul>
-  <li> MUST support third-party accessibility service implementations through the
-android.accessibilityservice APIs [<a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html">Resources, 43</a>]
-  <li> MUST generate AccessibilityEvents and deliver these events to all registered
+  <li>MUST support third-party accessibility service implementations through the
+android.accessibilityservice APIs [<a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html">Resources, 43</a>].</li>
+  <li>MUST generate AccessibilityEvents and deliver these events to all registered
 AccessibilityService implementations in a manner consistent with the default
-Android implementation
-  <li> Unless an Android Watch device with no audio output, device implementations
+Android implementation.</li>
+  <li>Unless an Android Watch device with no audio output, device implementations
 MUST provide a user-accessible mechanism to enable and disable accessibility
 services, and MUST display this interface in response to the
-android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS intent.
+android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS intent.</li>
 </ul>
 
 <p>Additionally, device implementations SHOULD provide an implementation of an
 accessibility service on the device, and SHOULD provide a mechanism for users
 to enable the accessibility service during device setup. An open source
 implementation of an accessibility service is available from the Eyes Free
-project [<a href="https://code.google.com/p/eyes-free/">Resources, 44</a>].</p>
+project [<a href="http://code.google.com/p/eyes-free/">Resources, 44</a>].</p>
 
-<h2 id=3_11_text-to-speech>3.11. Text-to-Speech</h2>
+<h2 id="3_11_text-to-speech">3.11. Text-to-Speech</h2>
 
 
 <p>Android includes APIs that allow applications to make use of text-to-speech
@@ -1875,39 +1476,39 @@
 <p>Device implementations:</p>
 
 <ul>
-  <li> MUST support the Android TTS framework APIs and SHOULD include a TTS engine
+  <li>MUST support the Android TTS framework APIs and SHOULD include a TTS engine
 supporting the languages available on the device. Note that the upstream
 Android open source software includes a full-featured TTS engine
-implementation.
-  <li>  MUST support installation of third-party TTS engines
-  <li> MUST provide a user-accessible interface that allows users to select a TTS
-engine for use at the system level
+implementation.</li>
+  <li>MUST support installation of third-party TTS engines.</li>
+  <li>MUST provide a user-accessible interface that allows users to select a TTS
+engine for use at the system level.</li>
 </ul>
 
-<h2 id=3_12_tv_input_framework>3.12. TV Input Framework</h2>
+<h2 id="3_12_tv_input_framework">3.12. TV Input Framework</h2>
 
 
 <p>The Android Television Input Framework (TIF) simplifies the delivery of live
 content to Android Television devices. TIF provides a standard API to create
 input modules that control Android Television devices. Android Television
-device implementations MUST support Television Input Framework [<a href="https://source.android.com/devices/tv/index.html">Resources, 46</a>].</p>
+device implementations MUST support Television Input Framework [<a href="http://source.android.com/devices/tv/index.html">Resources, 46</a>].</p>
 
 <p>Device implementations that support TIF MUST declare the platform feature
-android.software.live_tv. </p>
+android.software.live_tv.</p>
 
-<h1 id=4_application_packaging_compatibility>4. Application Packaging Compatibility</h1>
+<h1 id="4_application_packaging_compatibility">4. Application Packaging Compatibility</h1>
 
 
-<p>Device implementations MUST install and run Android ".apk" files as generated
-by the "aapt" tool included in the official Android SDK [<a href="http://developer.android.com/guide/developing/tools/index.html">Resources, 47</a>].</p>
+<p>Device implementations MUST install and run Android &ldquo;.apk&rdquo; files as generated
+by the &ldquo;aapt&rdquo; tool included in the official Android SDK [<a href="http://developer.android.com/tools/help/index.html">Resources, 47</a>].</p>
 
 <p>Devices implementations MUST NOT extend either the .apk [<a href="http://developer.android.com/guide/components/fundamentals.html">Resources, 48</a>], Android Manifest [<a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html">Resources, 49</a>], Dalvik bytecode [<a href="https://android.googlesource.com/platform/dalvik/+/lollipop-release/docs/">Resources, 20</a>], or RenderScript bytecode formats in such a way that would prevent those
-files from installing and running correctly on other compatible devices</p>
+files from installing and running correctly on other compatible devices.</p>
 
-<h1 id=5_multimedia_compatibility>5. Multimedia Compatibility</h1>
+<h1 id="5_multimedia_compatibility">5. Multimedia Compatibility</h1>
 
 
-<h2 id=5_1_media_codecs>5.1. Media Codecs</h2>
+<h2 id="5_1_media_codecs">5.1. Media Codecs</h2>
 
 
 <p>Device implementations MUST support the core media formats specified in the
@@ -1923,547 +1524,279 @@
 that implementations of this code, including in open source software or
 shareware, may require patent licenses from the relevant patent holders.</p>
 
-<h3 id=5_1_1_audio_codecs>5.1.1. Audio Codecs</h3>
+<h3 id="5_1_1_audio_codecs">5.1.1. Audio Codecs</h3>
 
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Format / Codec</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Encoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Decoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Details</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Supported File Type(s) / Container Formats</strong></p>
-</td>
+    <th>Format/Codec</th>
+    <th>Encoder</th>
+    <th>Decoder</th>
+    <th>Details</th>
+    <th>Supported File Types/Container Formats</th>
  </tr>
  <tr>
-    <td class="tab3">
-<p>MPEG-4 AAC Profile</p>
+    <td>MPEG-4 AAC Profile</p>
 
-<p>(AAC LC)</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED1</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 8 to
-48 kHz.</p>
-</td>
-    <td class="tab4">
-<p>• 3GPP (.3gp)</p>
-
-<p>• MPEG-4 (.mp4, .m4a)</p>
-
-<p>• ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not
-supported)</p>
-
-<p>• MPEG-TS (.ts, not seekable, Android 3.0+)</p>
-</td>
- </tr>
- <tr>
-    <td class="tab3">
-<p>MPEG-4 HE AAC Profile (AAC+)</p>
-</td>
+<p>(AAC LC)</td>
+    <td>REQUIRED<sup>1</sup></td>
+    <td>REQUIRED</td>
+    <td>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 8 to
+48 kHz.</td>
     <td>
-<p>REQUIRED1</p>
-
-<p>(Android 4.1+)</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 16
-to 48 kHz.</p>
-</td>
-    <td class="tab4"></td>
+    <ul>
+    <li class="table_list">3GPP (.3gp)</li>
+    <li class="table_list">MPEG-4 (.mp4, .m4a)</li>
+    <li class="table_list">ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not
+supported)</li>
+    <li class="table_list">MPEG-TS (.ts, not seekable, Android 3.0+)</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>MPEG-4 HE AACv2</p>
-
-<p>Profile (enhanced AAC+)</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 16
-to 48 kHz.</p>
-</td>
-    <td class="tab4"></td>
+    <td>MPEG-4 HE AAC Profile (AAC+)</td>
+    <td>REQUIRED<sup>1</sup><br>(Android 4.1+)</td>
+    <td>REQUIRED</td>
+    <td>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 16
+to 48 kHz.</td>
+    <td></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>AAC ELD (enhanced low delay AAC)</p>
-</td>
-    <td>
-<p>REQUIRED1 </p>
+    <td>MPEG-4 HE AACv2</p>
 
-<p>(Android 4.1+)</p>
-</td>
-    <td>
-<p>REQUIRED</p>
-
-<p>(Android 4.1+)</p>
-</td>
-    <td class="tab3">
-<p>Support for mono/stereo content with standard sampling rates from 16 to 48 kHz.</p>
-</td>
-    <td class="tab4"></td>
+<p>Profile (enhanced AAC+)</td>
+    <td> </td>
+    <td>REQUIRED</td>
+    <td>Support for mono/stereo/5.0/5.12 content with standard sampling rates from 16
+to 48 kHz.</td>
+    <td></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>AMR-NB</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED3</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED3</p>
-</td>
-    <td class="tab3">
-<p>4.75 to 12.2 kbps sampled @ 8kHz</p>
-</td>
-    <td class="tab4">
-<p>3GPP (.3gp)</p>
-</td>
- </tr>
- <tr>
-    <td class="tab3">
-<p>AMR-WB</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED3 </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED3</p>
-</td>
-    <td class="tab3">
-<p>9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz</p>
-</td>
-    <td class="tab4"></td>
- </tr>
- <tr>
-    <td class="tab3">
-<p>FLAC</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td>
-<p>REQUIRED</p>
+    <td>AAC ELD (enhanced low delay AAC)</td>
+    <td>REQUIRED<sup>1</sup> </p>
 
-<p>(Android 3.1+)</p>
-</td>
-    <td class="tab3">
-<p>Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1 kHz is
+<p>(Android 4.1+)</td>
+    <td>REQUIRED</p>
+
+<p>(Android 4.1+)</td>
+    <td>Support for mono/stereo content with standard sampling rates from 16 to 48 kHz.</td>
+    <td></td>
+ </tr>
+ <tr>
+    <td>AMR-NB</td>
+    <td>REQUIRED<sup>3</sup></td>
+    <td>REQUIRED<sup>3</sup></td>
+    <td>4.75 to 12.2 kbps sampled @ 8kHz</td>
+    <td>3GPP (.3gp)</td>
+ </tr>
+ <tr>
+    <td>AMR-WB</td>
+    <td>REQUIRED<sup>3</sup></td>
+    <td>REQUIRED<sup>3</sup></td>
+    <td>9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz</td>
+    <td></td>
+ </tr>
+ <tr>
+    <td>FLAC</td>
+    <td></td>
+    <td>REQUIRED <br>(Android 3.1+)</td>
+    <td>Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1 kHz is
 recommended on devices with 44.1 kHz output, as the 48 to 44.1 kHz downsampler
 does not include a low-pass filter). 16-bit recommended; no dither applied for
-24-bit.</p>
-</td>
-    <td class="tab3">
-<p>FLAC (.flac) only</p>
-</td>
+24-bit.</td>
+    <td>FLAC (.flac) only</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>MP3</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td>
-<p>Mono/Stereo 8-320Kbps constant (CBR) or variable bitrate (VBR)</p>
-</td>
-    <td class="tab3">
-<p>MP3 (.mp3)</p>
-</td>
+    <td>MP3</td>
+    <td></td>
+    <td>REQUIRED</td>
+    <td>Mono/Stereo 8-320Kbps constant (CBR) or variable bitrate (VBR)</td>
+    <td>MP3 (.mp3)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>MIDI</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for
-ringtone formats RTTTL/RTX, OTA, and iMelody</p>
-</td>
-    <td class="tab3">
-<p>• Type 0 and 1 (.mid, .xmf, .mxmf)</p>
-
-<p>• RTTTL/RTX (.rtttl, .rtx)</p>
-
-<p>• OTA (.ota)</p>
-
-<p>• iMelody (.imy)</p>
-</td>
+    <td>MIDI</td>
+    <td></td>
+    <td>REQUIRED</td>
+    <td>MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for
+ringtone formats RTTTL/RTX, OTA, and iMelody</td>
+    <td><ul>
+    <li class="table_list">Type 0 and 1 (.mid, .xmf, .mxmf)</li>
+    <li class="table_list">RTTTL/RTX (.rtttl, .rtx)</li>
+    <li class="table_list">OTA (.ota)</li>
+    <li class="table_list">iMelody (.imy)</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>Vorbis</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>• Ogg (.ogg)</p>
-
-<p>• Matroska (.mkv, Android 4.0+)</p>
-</td>
+    <td>Vorbis</td>
+    <td></td>
+    <td>REQUIRED</td>
+    <td></td>
+    <td><ul>
+    <li class="table_list">Ogg (.ogg)</li>
+    <li class="table_list">Matroska (.mkv, Android 4.0+)</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>PCM/WAVE</p>
-</td>
-    <td>
-<p>REQUIRED4</p>
-
-<p>(Android 4.1+)</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>16-bit linear PCM (rates up to limit of hardware). Devices MUST support
+    <td>PCM/WAVE</td>
+    <td>REQUIRED<sup>4</sup><br> (Android 4.1+)</td>
+    <td>REQUIRED</td>
+    <td>16-bit linear PCM (rates up to limit of hardware). Devices MUST support
 sampling rates for raw PCM recording at 8000, 11025, 16000, and 44100 Hz
-frequencies.</p>
-</td>
-    <td class="tab3">
-<p>WAVE (.wav)</p>
-</td>
+frequencies.</td>
+    <td>WAVE (.wav)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>Opus</p>
-</td>
-    <td class="tab3"></td>
-    <td class="tab3">
-<p>REQUIRED</p>
-
-<p>(Android 5.0+)</p>
-</td>
-    <td class="tab3"></td>
-    <td class="tab3">
-<p>Matroska (.mkv)</p>
-</td>
+    <td>Opus</td>
+    <td></td>
+    <td>REQUIRED<br> (Android 5.0+)</td>
+    <td></td>
+    <td>Matroska (.mkv)</td>
  </tr>
 </table>
 
 
-<p>1 Required for device implementations that define android.hardware.microphone
+<p class="table_footnote"> 1 Required for device implementations that define android.hardware.microphone
 but optional for Android Watch device implementations.</p>
 
-<p>2 Only downmix of 5.0/5.1 content is required; recording or rendering more than
+<p class="table_footnote">2 Only downmix of 5.0/5.1 content is required; recording or rendering more than
 2 channels is optional.</p>
 
-<p>3 Required for Android Handheld device implementations. </p>
+<p class="table_footnote">3 Required for Android Handheld device implementations. </p>
 
-<p>4 Required for device implementations that define android.hardware.microphone,
+<p class="table_footnote">4 Required for device implementations that define android.hardware.microphone,
 including Android Watch device implementations.</p>
 
-<h3 id=5_1_2_image_codecs>5.1.2. Image Codecs</h3>
+<h3 id="5_1_2_image_codecs">5.1.2. Image Codecs</h3>
 
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Format / Codec</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Encoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Decoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Details</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Supported File Type(s) / Container Formats</strong></p>
-</td>
+    <th>Format/Codec</th>
+    <th>Encoder</th>
+    <th>Decoder</th>
+    <th>Details</th>
+    <th>Supported File Types/Container Formats</th>
  </tr>
  <tr>
-    <td class="tab3">
-<p>JPEG</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>Base+progressive</p>
-</td>
-    <td class="tab3">
-<p>JPEG (.jpg)</p>
-</td>
+    <td>JPEG</td>
+    <td>REQUIRED</td>
+    <td>REQUIRED</td>
+    <td>Base+progressive</td>
+    <td>JPEG (.jpg)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>GIF</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>GIF (.gif)</p>
-</td>
+    <td>GIF</td>
+    <td></td>
+    <td>REQUIRED</td>
+    <td></td>
+    <td>GIF (.gif)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>PNG</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>PNG (.png)</p>
-</td>
+    <td>PNG</td>
+    <td>REQUIRED</td>
+    <td>REQUIRED</td>
+    <td></td>
+    <td>PNG (.png)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>BMP</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>BMP (.bmp)</p>
-</td>
+    <td>BMP</td>
+    <td></td>
+    <td>REQUIRED</td>
+    <td></td>
+    <td>BMP (.bmp)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>WebP</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>WebP (.webp)</p>
-</td>
+    <td>WebP</td>
+    <td>REQUIRED</td>
+    <td>REQUIRED</td>
+    <td></td>
+    <td>WebP (.webp)</td>
  </tr>
 </table>
 
 
-<h3 id=5_1_3_video_codecs>5.1.3. Video Codecs</h3>
+<h3 id="5_1_3_video_codecs">5.1.3. Video Codecs</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="div">
 <p>Video codecs are optional for Android Watch device implementations.</p>
-</td>
- </tr>
-</table>
+</div>
 
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Format / Codec</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Encoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Decoder</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Details</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Supported File Type(s) / Container Formats</strong></p>
-</td>
+    <th>Format/Codec</th>
+    <th>Encoder</th>
+    <th>Decoder</th>
+    <th>Details</th>
+    <th>Supported File Types/Container Formats</th>
  </tr>
  <tr>
-    <td class="tab3">
-<p>H.263</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED1</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>• 3GPP (.3gp)</p>
-
-<p>• MPEG-4 (.mp4)</p>
-</td>
+    <td>H.263</td>
+    <td>REQUIRED<sup>1</sup></td>
+    <td>REQUIRED<sup>2</sup></td>
+    <td></td>
+    <td><ul>
+    <li class="table_list">3GPP (.3gp)</li>
+    <li class="table_list">MPEG-4 (.mp4)</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>H.264 AVC</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-</td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-</td>
-    <td>
-<p>See <a href="#heading=h.be1ledetmole">section 5.2 </a>and <a href="#heading=h.ogx7l5t9zub6">5.3</a> for details</p>
-</td>
-    <td class="tab3">
-<p>• 3GPP (.3gp)</p>
-
-<p>• MPEG-4 (.mp4)</p>
-
-<p>• MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)</p>
-</td>
+    <td>H.264 AVC</td>
+    <td>REQUIRED<sup>2</sup></td>
+    <td>REQUIRED<sup>2</sup></td>
+    <td>See <a href="#5_2_video_encoding">section 5.2 </a>and <a href="#5_3_video_decoding">5.3</a> for details</td>
+    <td><ul>
+    <li class="table_list">3GPP (.3gp)</li>
+    <li class="table_list">MPEG-4 (.mp4)</li>
+    <li class="table_list">MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>H.265 HEVC</p>
-</td>
-    <td class="tab3"></td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-</td>
-    <td>
-<p>See <a href="#heading=h.be1ledetmole">section 5.3</a> for details</p>
-</td>
-    <td class="tab3">
-<p>MPEG-4 (.mp4)</p>
-</td>
+    <td>H.265 HEVC</td>
+    <td></td>
+    <td>REQUIRED<sup>2</sup></td>
+    <td>See <a href="#5_3_video_decoding">section 5.3</a> for details</td>
+    <td>MPEG-4 (.mp4)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>MPEG-4 SP</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-</td>
-    <td class="tab3">
-<p> </p>
-</td>
-    <td class="tab3">
-<p>3GPP (.3gp)</p>
-</td>
+    <td>MPEG-4 SP</td>
+    <td></td>
+    <td>REQUIRED<sup>2</sup></td>
+    <td></td>
+    <td>3GPP (.3gp)</td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>VP83</p>
-</td>
-    <td>
-<p>REQUIRED2</p>
+    <td>VP83</td>
+    <td>REQUIRED<sup>2</sup></p>
 
-<p>(Android 4.3+)</p>
-</td>
-    <td>
-<p>REQUIRED2</p>
+<p>(Android 4.3+)</td>
+    <td>REQUIRED<sup>2</sup></p>
 
-<p>(Android 2.3.3+)</p>
-</td>
-    <td>
-<p>See <a href="#heading=h.be1ledetmole">section 5.2</a> and <a href="#heading=h.ogx7l5t9zub6">5.3</a> for details</p>
-</td>
-    <td>
-<p>• WebM (.webm) [<a href="http://www.webmproject.org/">Resources, 110</a>]</p>
-
-<p>• Matroska (.mkv, Android 4.0+)4</p>
-</td>
+<p>(Android 2.3.3+)</td>
+    <td>See <a href="#5_2_video_encoding">section 5.2</a> and <a href="#5_3_video_decoding">5.3</a> for details</td>
+    <td><ul>
+    <li class="table_list">WebM (.webm) [<a href="http://www.webmproject.org/">Resources, 110</a></li>
+    <li class="table_list">Matroska (.mkv, Android 4.0+)4</li></ul></td>
  </tr>
  <tr>
-    <td class="tab3">
-<p>VP9</p>
-</td>
-    <td class="tab3"></td>
-    <td class="tab3">
-<p>REQUIRED2</p>
-
-<p>(Android 4.4+)</p>
-</td>
-    <td>
-<p>See <a href="#heading=h.be1ledetmole">section 5.</a><u>3</u> for details</p>
-</td>
-    <td>
-<p>• WebM (.webm) [<a href="http://www.webmproject.org/">Resources, 110</a>]</p>
-
-<p>• Matroska (.mkv, Android 4.0+)4</p>
-</td>
+    <td>VP9</td>
+    <td></td>
+    <td>REQUIRED<sup>2</sup><br> (Android 4.4+)</td>
+    <td>See <a href="#5_3_video_decoding">section 5.3</a> for details</td>
+    <td><ul>
+    <li class="table_list">WebM (.webm) [<a href="http://www.webmproject.org/">Resources, 110</a>]</li>
+    <li class="table_list">Matroska (.mkv, Android 4.0+)4</li></ul></td>
  </tr>
 </table>
 
 
-<p>1 Required for device implementations that include camera hardware and define
+<p class="table_footnote">1 Required for device implementations that include camera hardware and define
 android.hardware.camera or android.hardware.camera.front.</p>
 
-<p>2 Required for device implementations except Android Watch devices. </p>
+<p class="table_footnote">2 Required for device implementations except Android Watch devices. </p>
 
-<p>3 For acceptable quality of web video streaming and video-conference services,
+<p class="table_footnote">3 For acceptable quality of web video streaming and video-conference services,
 device implementations SHOULD use a hardware VP8 codec that meets the
 requirements in [<a href="http://www.webmproject.org/hardware/rtc-coding-requirements/">Resources, 51</a>].</p>
 
-<p>4 Device implementations SHOULD support writing Matroska WebM files.</p>
+<p class="table_footnote">4 Device implementations SHOULD support writing Matroska WebM files.</p>
 
-<h2 id=5_2_video_encoding>5.2. Video Encoding</h2>
+<h2 id="5_2_video_encoding">5.2. Video Encoding</h2>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Video codecs are optional for Android Watch device implementations.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Android device implementations with H.264 codec support, MUST support Baseline
@@ -2473,75 +1806,37 @@
 RECOMMENDED to encode HD 1080p video at 30 fps.</p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p1</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p1</strong></p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p1</th>
+    <th>HD 1080p1</th>
  </tr>
  <tr>
-    <td>
-<p><strong>  Video resolution</strong></p>
-</td>
-    <td class="tab3">
-<p>320 x 240 px</p>
-</td>
-    <td class="tab3">
-<p>720 x 480 px</p>
-</td>
-    <td class="tab3">
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>320 x 240 px</td>
+    <td>720 x 480 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>  Video frame rate</strong></p>
-</td>
-    <td class="tab3">
-<p>20 fps</p>
-</td>
-    <td class="tab3">
-<p>30 fps</p>
-</td>
-    <td class="tab3">
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
+    <th>Video frame rate</th>
+    <td>20 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
  </tr>
  <tr>
-    <td>
-<p><strong>  Video bitrate</strong></p>
-</td>
-    <td class="tab3">
-<p>384 Kbps</p>
-</td>
-    <td class="tab3">
-<p>2 Mbps</p>
-</td>
-    <td class="tab3">
-<p>4 Mbps</p>
-</td>
-    <td>
-<p>10 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>384 Kbps</td>
+    <td>2 Mbps</td>
+    <td>4 Mbps</td>
+    <td>10 Mbps</td>
  </tr>
 </table>
 
 
-<p>1 When supported by hardware, but STRONGLY RECOMMENDED for Android Television
+<p class="table_footnote">1 When supported by hardware, but STRONGLY RECOMMENDED for Android Television
 devices.</p>
 
 <p>Android device implementations with VP8 codec support MUST support the SD video
@@ -2549,90 +1844,46 @@
 encoding profiles.</p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p1</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p1</strong></p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p1</th>
+    <th>HD 1080p1</th>
  </tr>
  <tr>
-    <td>
-<p><strong>Video resolution</strong></p>
-</td>
-    <td>
-<p>320 x 180 px</p>
-</td>
-    <td>
-<p>640 x 360 px</p>
-</td>
-    <td>
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>320 x 180 px</td>
+    <td>640 x 360 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video frame rate</strong></p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
+    <th>Video frame rate</th>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video bitrate</strong></p>
-</td>
-    <td>
-<p>800 Kbps </p>
-</td>
-    <td>
-<p>2 Mbps</p>
-</td>
-    <td>
-<p>4 Mbps</p>
-</td>
-    <td>
-<p>10 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>800 Kbps </td>
+    <td>2 Mbps</td>
+    <td>4 Mbps</td>
+    <td>10 Mbps</td>
  </tr>
 </table>
 
+<p class="table_footnote">1 When supported by hardware.</p>
 
-<p>1 When supported by hardware.</p>
+<h2 id="5_3_video_decoding">5.3. Video Decoding</h2>
 
-<h2 id=5_3_video_decoding>5.3. Video Decoding</h2>
-
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Video codecs are optional for Android Watch device implementations.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Device implementations MUST support dynamic video resolution switching within
-the same stream for VP8, VP9 ,H.264, and H.265 codecs.</p>
+the same stream for VP8, VP9, H.264, and H.265 codecs.</p>
 
 <p>Android device implementations with H.264 decoders, MUST support Baseline
 Profile Level 3 and the following SD video decoding profiles and SHOULD support
@@ -2640,358 +1891,176 @@
 Level 4.2 and the HD 1080p decoding profile.</p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p1</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p1</strong></p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p1</th>
+    <th>HD 1080p1</th>
  </tr>
  <tr>
-    <td>
-<p><strong>Video resolution</strong></p>
-</td>
-    <td>
-<p>320 x 240 px</p>
-</td>
-    <td>
-<p>720 x 480 px</p>
-</td>
-    <td>
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>320 x 240 px</td>
+    <td>720 x 480 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video frame rate</strong></p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps / 60 fps2</p>
-</td>
-    <td>
-<p>30 fps / 60 fps2</p>
-</td>
+    <th>Video frame rate</th>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps / 60 fps2</td>
+    <td>30 fps / 60 fps2</td>
  </tr>
  <tr>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td></td>
- </tr>
- <tr>
-    <td>
-<p><strong>Video bitrate</strong></p>
-</td>
-    <td>
-<p>800 Kbps </p>
-</td>
-    <td>
-<p>2 Mbps</p>
-</td>
-    <td>
-<p>8 Mbps</p>
-</td>
-    <td>
-<p>20 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>800 Kbps </td>
+    <td>2 Mbps</td>
+    <td>8 Mbps</td>
+    <td>20 Mbps</td>
  </tr>
 </table>
 
 
-<p>1 Required for Android Television device implementations, but for other device
+<p class="table_footnote">1 Required for Android Television device implementations, but for other device
 types only when supported by hardware.</p>
 
-<p>2 Required for Android Television device implementations.</p>
+<p class="table_footnote">2 Required for Android Television device implementations.</p>
 
-<p>Android device implementations when supporting VP8 codec as described in <a href="#heading=h.hitn8abpwkj2">section 5.1.3</a>, MUST support the following SD decoding profiles and SHOULD support the HD
+<p>Android device implementations when supporting VP8 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a>, MUST support the following SD decoding profiles and SHOULD support the HD
 decoding profiles. Android Television devices MUST support the HD 1080p
 decoding profile.  </p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p1</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p1</strong></p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p1</th>
+    <th>HD 1080p1</th>
  </tr>
  <tr>
-    <td>
-<p><strong>Video resolution</strong></p>
-</td>
-    <td>
-<p>320 x 180 px</p>
-</td>
-    <td>
-<p>640 x 360 px</p>
-</td>
-    <td>
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>320 x 180 px</td>
+    <td>640 x 360 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video frame rate</strong></p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps / 60 fps2</p>
-</td>
-    <td>
-<p>30 / 60 fps2</p>
-</td>
+    <th>Video frame rate</th>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps / 60 fps2</td>
+    <td>30 / 60 fps2</td>
  </tr>
  <tr>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td></td>
- </tr>
- <tr>
-    <td>
-<p><strong>Video bitrate</strong></p>
-</td>
-    <td>
-<p>800 Kbps </p>
-</td>
-    <td>
-<p>2 Mbps</p>
-</td>
-    <td>
-<p>8 Mbps</p>
-</td>
-    <td>
-<p>20 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>800 Kbps </td>
+    <td>2 Mbps</td>
+    <td>8 Mbps</td>
+    <td>20 Mbps</td>
  </tr>
 </table>
 
 
-<p>1 Required for Android Television device implementations, but for other type of
+<p class="table_footnote">1 Required for Android Television device implementations, but for other type of
 devices only when supported by hardware.</p>
 
-<p>2 Required for Android Television device implementations.</p>
+<p class="table_footnote">2 Required for Android Television device implementations.</p>
 
-<p>Android device implementations, when supporting VP9 codec as described in <a href="#heading=h.hitn8abpwkj2">section 5.1.3</a>, MUST support the following SD video decoding profiles and SHOULD support the
+<p>Android device implementations, when supporting VP9 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a>, MUST support the following SD video decoding profiles and SHOULD support the
 HD decoding profiles. Android Television devices are STRONGLY RECOMMENDED to
 support the HD 1080p decoding profile and SHOULD support the UHD decoding
 profile. When the UHD video decoding profile is supported, it MUST support 8
 bit color depth.</p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p 1</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p 2</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>UHD 2</strong></p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p 1</th>
+    <th>HD 1080p 2</th>
+    <th>UHD 2</th>
  </tr>
  <tr>
-    <td>
-<p><strong>Video resolution</strong></p>
-</td>
-    <td>
-<p>320 x 180 px</p>
-</td>
-    <td>
-<p>640 x 360 px</p>
-</td>
-    <td>
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
-    <td>
-<p>3840 x 2160 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>320 x 180 px</td>
+    <td>640 x 360 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
+    <td>3840 x 2160 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video frame rate</strong></p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
+    <th>Video frame rate</th>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video bitrate</strong></p>
-</td>
-    <td>
-<p>600 Kbps </p>
-</td>
-    <td>
-<p>1.6 Mbps</p>
-</td>
-    <td>
-<p>4 Mbps</p>
-</td>
-    <td>
-<p>10 Mbps</p>
-</td>
-    <td>
-<p>20 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>600 Kbps </td>
+    <td>1.6 Mbps</td>
+    <td>4 Mbps</td>
+    <td>10 Mbps</td>
+    <td>20 Mbps</td>
  </tr>
 </table>
 
 
-<p>1 Required for Android Television device implementations, but for other type of
+<p class="table_footnote">1 Required for Android Television device implementations, but for other type of
 devices only when supported by hardware.</p>
 
-<p>2 STRONGLY RECOMMENDED for Android Television device implementations when
+<p class="table_footnote">2 STRONGLY RECOMMENDED for Android Television device implementations when
 supported by hardware.</p>
 
-<p>Android device implementations, when supporting H.265 codec as described in <a href="#heading=h.hitn8abpwkj2">section 5.1.3</a>, MUST support the Main Profile Level 3 Main tier and the following SD video
+<p>Android device implementations, when supporting H.265 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a>, MUST support the Main Profile Level 3 Main tier and the following SD video
 decoding profiles and SHOULD support the HD decoding profiles. Android
 Television devices MUST support the Main Profile Level 4.1 Main tier and the HD
 1080p decoding profile and SHOULD support Main10 Level 5 Main Tier profile and
 the UHD decoding profile.</p>
 <table>
  <tr>
-    <td class="tab0"></td>
-    <td class="tab0">
-<p><strong>SD (Low quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>SD (High quality)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HD 720p </strong>1 </p>
-</td>
-    <td class="tab0">
-<p><strong>HD 1080p </strong>1 </p>
-</td>
-    <td class="tab0">
-<p><strong>UHD </strong>2</p>
-</td>
+    <th></th>
+    <th>SD (Low quality)</th>
+    <th>SD (High quality)</th>
+    <th>HD 720p </strong>1 </td>
+    <th>HD 1080p </strong>1 </td>
+    <th>UHD </strong>2</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video resolution</strong></p>
-</td>
-    <td>
-<p>352 x 288 px</p>
-</td>
-    <td>
-<p>640 x 360 px</p>
-</td>
-    <td>
-<p>1280 x 720 px</p>
-</td>
-    <td>
-<p>1920 x 1080 px</p>
-</td>
-    <td>
-<p>3840 x 2160 px</p>
-</td>
+    <th>Video resolution</th>
+    <td>352 x 288 px</td>
+    <td>640 x 360 px</td>
+    <td>1280 x 720 px</td>
+    <td>1920 x 1080 px</td>
+    <td>3840 x 2160 px</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video frame rate</strong></p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
-    <td>
-<p>30 fps</p>
-</td>
+    <th>Video frame rate</th>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
  </tr>
  <tr>
-    <td>
-<p><strong>Video bitrate</strong></p>
-</td>
-    <td>
-<p>600 Kbps </p>
-</td>
-    <td>
-<p>1.6 Mbps</p>
-</td>
-    <td>
-<p>4 Mbps</p>
-</td>
-    <td>
-<p>10 Mbps</p>
-</td>
-    <td>
-<p>20 Mbps</p>
-</td>
+    <th>Video bitrate</th>
+    <td>600 Kbps </td>
+    <td>1.6 Mbps</td>
+    <td>4 Mbps</td>
+    <td>10 Mbps</td>
+    <td>20 Mbps</td>
  </tr>
 </table>
 
 
-<p>1 Required for Android Television device implementation, but for other type of
+<p class="table_footnote">1 Required for Android Television device implementation, but for other type of
 devices only when supported by hardware.</p>
 
-<p>2 Required for Android Television device implementations when supported by
+<p class="table_footnote">2 Required for Android Television device implementations when supported by
 hardware.</p>
 
-<h2 id=5_4_audio_recording>5.4. Audio Recording</h2>
+<h2 id="5_4_audio_recording">5.4. Audio Recording</h2>
 
 
 <p>While some of the requirements outlined in this section are stated as SHOULD
@@ -2999,28 +2068,28 @@
 to change these to MUST. Existing and new Android devices are <strong>very strongly encouraged</strong> to meet these requirements, or they will not be able to attain Android
 compatibility when upgraded to the future version.</p>
 
-<h3 id=5_4_1_raw_audio_capture>5.4.1. Raw Audio Capture</h3>
+<h3 id="5_4_1_raw_audio_capture">5.4.1. Raw Audio Capture</h3>
 
 
 <p>Device implementations that declare android.hardware.microphone MUST allow
 capture of raw audio content with the following characteristics:</p>
 
 <ul>
-  <li> <strong>Format</strong>: Linear PCM, 16-bit
-  <li> <strong>Sampling rates</strong>: 8000, 11025, 16000, 44100
-  <li> <strong>Channels</strong>: Mono
+  <li><strong>Format</strong>: Linear PCM, 16-bit
+  <li><strong>Sampling rates</strong>: 8000, 11025, 16000, 44100
+  <li><strong>Channels</strong>: Mono
 </ul>
 
 <p>Device implementations that declare android.hardware.microphone SHOULD allow
 capture of raw audio content with the following characteristics:</p>
 
 <ul>
-  <li> <strong>Format</strong>: Linear PCM, 16-bit
-  <li> <strong>Sampling rates</strong>: 22050, 48000
-  <li> <strong>Channels</strong>: Stereo
+  <li><strong>Format</strong>: Linear PCM, 16-bit
+  <li><strong>Sampling rates</strong>: 22050, 48000
+  <li><strong>Channels</strong>: Stereo
 </ul>
 
-<h3 id=5_4_2_capture_for_voice_recognition>5.4.2. Capture for Voice Recognition</h3>
+<h3 id="5_4_2_capture_for_voice_recognition">5.4.2. Capture for Voice Recognition</h3>
 
 
 <p>In addition to the above recording specifications, when an application has
@@ -3028,25 +2097,25 @@
 android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION audio source:</p>
 
 <ul>
-  <li> The device SHOULD exhibit approximately flat amplitude versus frequency
+  <li>The device SHOULD exhibit approximately flat amplitude versus frequency
 characteristics: specifically, ±3 dB, from 100 Hz to 4000 Hz.
-  <li> Audio input sensitivity SHOULD be set such that a 90 dB sound power level (SPL)
+  <li>Audio input sensitivity SHOULD be set such that a 90 dB sound power level (SPL)
 source at 1000 Hz yields RMS of 2500 for 16-bit samples.
-  <li> PCM amplitude levels SHOULD linearly track input SPL changes over at least a 30
+  <li>PCM amplitude levels SHOULD linearly track input SPL changes over at least a 30
 dB range from -18 dB to +12 dB re 90 dB SPL at the microphone.
-  <li> Total harmonic distortion SHOULD be less than 1% for 1Khz at 90 dB SPL input
+  <li>Total harmonic distortion SHOULD be less than 1% for 1Khz at 90 dB SPL input
 level at the microphone.
-  <li> Noise reduction processing, if present, MUST be disabled.
-  <li> Automatic gain control, if present, MUST be disabled
+  <li>Noise reduction processing, if present, MUST be disabled.
+  <li>Automatic gain control, if present, MUST be disabled
 </ul>
 
 <p>If the platform supports noise suppression technologies tuned for speech
 recognition, the effect MUST be controllable from the
 android.media.audiofx.NoiseSuppressor API. Moreover, the UUID field for the
-noise suppressor's effect descriptor MUST uniquely identify each implementation
+noise suppressor&rsquo;s effect descriptor MUST uniquely identify each implementation
 of the noise suppression technology.</p>
 
-<h3 id=5_4_3_capture_for_rerouting_of_playback>5.4.3. Capture for Rerouting of Playback</h3>
+<h3 id="5_4_3_capture_for_rerouting_of_playback">5.4.3. Capture for Rerouting of Playback</h3>
 
 
 <p>The android.media.MediaRecorder.AudioSource class includes the REMOTE_SUBMIX
@@ -3056,55 +2125,55 @@
 a mix of all audio streams except for the following:</p>
 
 <ul>
-  <li> STREAM_RING
-  <li> STREAM_ALARM
-  <li> STREAM_NOTIFICATION
+  <li>STREAM_RING
+  <li>STREAM_ALARM
+  <li>STREAM_NOTIFICATION
 </ul>
 
-<h2 id=5_5_audio_playback>5.5. Audio Playback</h2>
+<h2 id="5_5_audio_playback">5.5. Audio Playback</h2>
 
 
 <p>Device implementations that declare android.hardware.audio.output MUST conform
 to the requirements in this section.</p>
 
-<h3 id=5_5_1_raw_audio_playback>5.5.1. Raw Audio Playback</h3>
+<h3 id="5_5_1_raw_audio_playback">5.5.1. Raw Audio Playback</h3>
 
 
 <p>The device MUST allow playback of raw audio content with the following
 characteristics:</p>
 
 <ul>
-  <li> <strong>Format</strong>: Linear PCM, 16-bit
-  <li> <strong>Sampling rates</strong>: 8000, 11025, 16000, 22050, 32000, 44100
-  <li> <strong>Channels</strong>: Mono, Stereo
+  <li><strong>Format</strong>: Linear PCM, 16-bit</li>
+  <li><strong>Sampling rates</strong>: 8000, 11025, 16000, 22050, 32000, 44100</li>
+  <li><strong>Channels</strong>: Mono, Stereo</li>
 </ul>
 
 <p>The device SHOULD allow playback of raw audio content with the following
 characteristics:</p>
 
 <ul>
-  <li> <strong>Sampling rates</strong>: 24000, 48000
+  <li><strong>Sampling rates</strong>: 24000, 48000</li>
 </ul>
 
-<h3 id=5_5_2_audio_effects>5.5.2. Audio Effects</h3>
+<h3 id="5_5_2_audio_effects">5.5.2. Audio Effects</h3>
 
 
 <p>Android provides an API for audio effects for device implementations [<a href="http://developer.android.com/reference/android/media/audiofx/AudioEffect.html">Resources, 52</a>]. Device implementations that declare the feature
 android.hardware.audio.output:</p>
 
 <ul>
-  <li> MUST support the EFFECT_TYPE_EQUALIZER and EFFECT_TYPE_LOUDNESS_ENHANCER
+  <li>MUST support the EFFECT_TYPE_EQUALIZER and EFFECT_TYPE_LOUDNESS_ENHANCER
 implementations controllable through the AudioEffect subclasses Equalizer,
-LoudnessEnhancer
-  <li> MUST support the visualizer API implementation, controllable through the
-Visualizer class
-  <li> SHOULD support the EFFECT_TYPE_BASS_BOOST, EFFECT_TYPE_ENV_REVERB,
+LoudnessEnhancer.</li>
+  <li>MUST support the visualizer API implementation, controllable through the
+Visualizer class.</li>
+  <li>SHOULD support the EFFECT_TYPE_BASS_BOOST, EFFECT_TYPE_ENV_REVERB,
 EFFECT_TYPE_PRESET_REVERB, and EFFECT_TYPE_VIRTUALIZER implementations
 controllable through the AudioEffect sub-classes BassBoost,
-EnvironmentalReverb, PresetReverb, and Virtualizer
+EnvironmentalReverb, PresetReverb, and Virtualizer.</li>
 </ul>
 
-<h3 id=5_5_3_audio_output_volume>5.5.3. Audio Output Volume</h3>
+<h3 id="5_5_3_audio_output_volume">5.5.3. Audio Output Volume</h3>
 
 
 <p>Android Television device implementations MUST include support for system
@@ -3112,7 +2181,7 @@
 except for compressed audio passthrough output (where no audio decoding is done
 on the device).</p>
 
-<h2 id=5_6_audio_latency>5.6. Audio Latency</h2>
+<h2 id="5_6_audio_latency">5.6. Audio Latency</h2>
 
 
 <p>Audio latency is the time delay as an audio signal passes through a system.
@@ -3122,32 +2191,32 @@
 <p>For the purposes of this section, use the following definitions:</p>
 
 <ul>
-  <li> <strong>output latency</strong>—The interval between when an application writes a frame of PCM-coded data and
+  <li><strong>output latency</strong>. The interval between when an application writes a frame of PCM-coded data and
 when the corresponding sound can be heard by an external listener or observed
-by a transducer.
-  <li> <strong>cold output latency</strong>—The output latency for the first frame, when the audio output system has been
-idle and powered down prior to the request.
-  <li> <strong>continuous output latency</strong>—The output latency for subsequent frames, after the device is playing audio.
-  <li> <strong>input latency</strong>—The interval between when an external sound is presented to the device and
-when an application reads the corresponding frame of PCM-coded data.
-  <li> <strong>cold input latency</strong>—The sum of lost input time and the input latency for the first frame, when the
-audio input system has been idle and powered down prior to the request.
-  <li> <strong>continuous input latency</strong>—The input latency for subsequent frames, while the device is capturing audio.
-  <li> <strong>cold output jitter</strong>—The variance among separate measurements of cold output latency values.
-  <li> <strong>cold input jitter</strong>—The variance among separate measurements of cold input latency values. 
-  <li> <strong>continuous round-trip latency</strong>—The sum of continuous input latency plus continuous output latency plus 5
-milliseconds.
-  <li> <strong>OpenSL ES PCM buffer queue API</strong>—The set of PCM-related OpenSL ES APIs within Android NDK; see
-NDK_root/docs/opensles/index.html.
+by a transducer.</li>
+  <li><strong>cold output latency</strong>. The output latency for the first frame, when the audio output system has been
+idle and powered down prior to the request.</li>
+  <li><strong>continuous output latency</strong>. The output latency for subsequent frames, after the device is playing audio.</li>
+  <li><strong>input latency</strong>. The interval between when an external sound is presented to the device and
+when an application reads the corresponding frame of PCM-coded data.</li>
+  <li><strong>cold input latency</strong>. The sum of lost input time and the input latency for the first frame, when the
+audio input system has been idle and powered down prior to the request.</li>
+  <li><strong>continuous input latency</strong>. The input latency for subsequent frames, while the device is capturing audio.</li>
+  <li><strong>cold output jitter</strong>. The variance among separate measurements of cold output latency values.</li>
+  <li><strong>cold input jitter</strong>. The variance among separate measurements of cold input latency values.</li>
+  <li><strong>continuous round-trip latency</strong>. The sum of continuous input latency plus continuous output latency plus 5
+milliseconds.</li>
+  <li><strong>OpenSL ES PCM buffer queue API</strong>. The set of PCM-related OpenSL ES APIs within Android NDK; see
+NDK_root/docs/opensles/index.html.</li>
 </ul>
 
 <p>Device implementations that declare android.hardware.audio.output SHOULD meet
 or exceed these audio output requirements:</p>
 
 <ul>
-  <li> cold output latency of 100 milliseconds or less
-  <li> continuous output latency of 45 milliseconds or less
-  <li> minimize the cold output jitter
+  <li>cold output latency of 100 milliseconds or less</li>
+  <li>continuous output latency of 45 milliseconds or less</li>
+  <li>minimize the cold output jitter</li>
 </ul>
 
 <p>If a device implementation meets the requirements of this section after any
@@ -3162,25 +2231,25 @@
 these input audio requirements:</p>
 
 <ul>
-  <li> cold input latency of 100 milliseconds or less
-  <li> continuous input latency of 30 milliseconds or less
-  <li> continuous round-trip latency of 50 milliseconds or less
-  <li> minimize the cold input jitter
+  <li>cold input latency of 100 milliseconds or less</li>
+  <li>continuous input latency of 30 milliseconds or less</li>
+  <li>continuous round-trip latency of 50 milliseconds or less</li>
+  <li>minimize the cold input jitter</li>
 </ul>
 
-<h2 id=5_7_network_protocols>5.7. Network Protocols</h2>
+<h2 id="5_7_network_protocols">5.7. Network Protocols</h2>
 
 
 <p>Devices MUST support the media network protocols for audio and video playback
 as specified in the Android SDK documentation [<a href="http://developer.android.com/guide/appendix/media-formats.html">Resources, 50</a>]. Specifically, devices MUST support the following media network protocols:</p>
 
 <ul>
-  <li> RTSP (RTP, SDP)
-  <li> HTTP(S) progressive streaming
-  <li> HTTP(S) Live Streaming draft protocol, Version 3 [<a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-03">Resources, 54</a>]
+  <li>RTSP (RTP, SDP)</li>
+  <li>HTTP(S) progressive streaming</li>
+  <li>HTTP(S) Live Streaming draft protocol, Version 3 [<a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-03">Resources, 54</a>]</li>
 </ul>
 
-<h2 id=5_8_secure_media>5.8. Secure Media</h2>
+<h2 id="5_8_secure_media">5.8. Secure Media</h2>
 
 
 <p>Device implementations that support secure video output and are capable of
@@ -3195,21 +2264,21 @@
 support for wireless (Miracast) and wired (HDMI) displays that satisfies this
 requirement.</p>
 
-<h1 id=6_developer_tools_and_options_compatibility>6. Developer Tools and Options Compatibility</h1>
+<h1 id="6_developer_tools_and_options_compatibility">6. Developer Tools and Options Compatibility</h1>
 
 
-<h2 id=6_1_developer_tools>6.1. Developer Tools</h2>
+<h2 id="6_1_developer_tools">6.1. Developer Tools</h2>
 
 
 <p>Device implementations MUST support the Android Developer Tools provided in the
 Android SDK. Android compatible devices MUST be compatible with:</p>
 
 <ul>
-  <li> <strong>Android Debug Bridge (adb)</strong> [<a href="http://developer.android.com/tools/help/adb.html">Resources, 55</a>]
+  <li><strong>Android Debug Bridge (adb)</strong> [<a href="http://developer.android.com/tools/help/adb.html">Resources, 55</a>]</li>
 </ul>
 
 <p>Device implementations MUST support all adb functions as documented in the
-Android SDK including dumpsys [<a href="https://source.android.com/devices/tech/input/dumpsys.html">Resources, 56</a>]. The device-side adb daemon MUST be inactive by default and there MUST be a
+Android SDK including dumpsys [<a href="https://source.android.com/devices/input/diagnostics.html">Resources, 56</a>]. The device-side adb daemon MUST be inactive by default and there MUST be a
 user-accessible mechanism to turn on the Android Debug Bridge. If a device
 implementation omits USB peripheral mode, it MUST implement the Android Debug
 Bridge via local-area network (such as Ethernet or 802.11). </p>
@@ -3218,7 +2287,7 @@
 authenticated hosts. Device implementations MUST support secure adb.</p>
 
 <ul>
-  <li> <strong>Dalvik Debug Monitor Service (ddms)</strong> [<a href="http://developer.android.com/tools/debugging/ddms.html">Resources, 57</a>]
+  <li><strong>Dalvik Debug Monitor Service (ddms)</strong> [<a href="http://developer.android.com/tools/debugging/ddms.html">Resources, 57</a>]</li>
 </ul>
 
 <p>Device implementations MUST support all ddms features as documented in the
@@ -3227,14 +2296,14 @@
 as above.</p>
 
 <ul>
-  <li> <strong>Monkey</strong> [<a href="http://developer.android.com/tools/help/monkey.html">Resources, 58</a>]
+  <li><strong>Monkey</strong> [<a href="http://developer.android.com/tools/help/monkey.html">Resources, 58</a>]</li>
 </ul>
 
 <p>Device implementations MUST include the Monkey framework, and make it available
 for applications to use.</p>
 
 <ul>
-  <li> <strong>SysTrace</strong> [<a href="http://developer.android.com/tools/help/systrace.html">Resources, 59</a>]
+  <li><strong>SysTrace</strong> [<a href="http://developer.android.com/tools/help/systrace.html">Resources, 59</a>]</li>
 </ul>
 
 <p>Device implementations MUST support systrace tool as documented in the Android
@@ -3251,7 +2320,7 @@
 adb protocol. These drivers MUST be provided for Windows XP, Windows Vista,
 Windows 7, Windows 8, and Windows 9 in both 32-bit and 64-bit versions.</p>
 
-<h2 id=6_2_developer_options>6.2. Developer Options</h2>
+<h2 id="6_2_developer_options">6.2. Developer Options</h2>
 
 
 <p>Android includes support for developers to configure application
@@ -3264,7 +2333,7 @@
 Options by default and MUST provide a mechanism to enable Developer Options
 that is consistent with the upstream Android implementation.</p>
 
-<h1 id=7_hardware_compatibility>7. Hardware Compatibility</h1>
+<h1 id="7_hardware_compatibility">7. Hardware Compatibility</h1>
 
 
 <p>If a device includes a particular hardware component that has a corresponding
@@ -3274,13 +2343,13 @@
 device implementation does not possess that component:</p>
 
 <ul>
-  <li> Complete class definitions (as documented by the SDK) for the component's APIs
-MUST still be presented. 
-  <li> The API's behaviors MUST be implemented as no-ops in some reasonable fashion.
-  <li> API methods MUST return null values where permitted by the SDK documentation.
-  <li> API methods MUST return no-op implementations of classes where null values are
+  <li>Complete class definitions (as documented by the SDK) for the component APIs
+MUST still be presented.
+  <li>The API&rsquo;s behaviors MUST be implemented as no-ops in some reasonable fashion.
+  <li>API methods MUST return null values where permitted by the SDK documentation.
+  <li>API methods MUST return no-op implementations of classes where null values are
 not permitted by the SDK documentation.
-  <li> API methods MUST NOT throw exceptions not documented by the SDK documentation.
+  <li>API methods MUST NOT throw exceptions not documented by the SDK documentation.
 </ul>
 
 <p>A typical example of a scenario where these requirements apply is the telephony
@@ -3292,7 +2361,7 @@
 methods on the android.content.pm.PackageManager class for the same build
 fingerprint. [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">Resources, 53]</a></p>
 
-<h2 id=7_1_display_and_graphics>7.1. Display and Graphics</h2>
+<h2 id="7_1_display_and_graphics">7.1. Display and Graphics</h2>
 
 
 <p>Android includes facilities that automatically adjust application assets and UI
@@ -3304,35 +2373,28 @@
 follows:</p>
 
 <ul>
-  <li> <strong>physical diagonal size</strong>—The distance in inches between two opposing corners of the illuminated portion
-of the display.
-  <li> <strong>dots per inch (dpi)</strong>—The number of pixels encompassed by a linear horizontal or vertical span of
-1". Where dpi values are listed, both horizontal and vertical dpi must fall
-within the range.
-  <li> <strong>aspect ratio</strong>—The ratio of the longer dimension of the screen to the shorter dimension. For
-example, a display of 480x854 pixels would be 854 / 480 = 1.779, or roughly
-"16:9".
-  <li> <strong>density-independent pixel (dp)</strong>—The virtual pixel unit normalized to a 160 dpi screen, calculated as: pixels =
-dps * (density / 160).
+  <li><strong>physical diagonal size</strong>. The distance in inches between two opposing corners of the illuminated portion
+of the display.</li>
+  <li><strong>dots per inch (dpi)</strong>. The number of pixels encompassed by a linear horizontal or vertical span of
+1&rdquo;. Where dpi values are listed, both horizontal and vertical dpi must fall
+within the range.</li>
+  <li><strong>aspect ratio</strong>. The ratio of the longer dimension of the screen to the shorter dimension. For
+example, a display of 480x854 pixels would be 854/480 = 1.779, or roughly &ldquo;16:9&rdquo;.</li>
+  <li><strong>density-independent pixel (dp)</strong> The virtual pixel unit normalized to a 160 dpi screen, calculated as: pixels =
+dps * (density/160).</li>
 </ul>
 
-<h3 id=7_1_1_screen_configuration>7.1.1. Screen Configuration</h3>
+<h3 id="7_1_1_screen_configuration">7.1.1. Screen Configuration</h3>
 
 
-<h4 id=7_1_1_1_screen_size>7.1.1.1. Screen Size</h4>
+<h4 id="7_1_1_1_screen_size">7.1.1.1. Screen Size</h4>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
-<p>Android Watch devices (detailed in <a href="#heading=h.40sdoojaw5k9">section 2</a>) MAY have smaller screen sizes as described in this section.</p>
-</td>
- </tr>
-</table>
-
+<div class="note">
+<p>Android Watch devices (detailed in <a href="#2_device_types">section 2</a>) MAY have smaller screen sizes as described in this section.</p>
+</div>
 
 <p>The Android UI framework supports a variety of different screen sizes, and
-allows applications to query the device screen size (aka "screen layout") via
+allows applications to query the device screen size (aka &ldquo;screen layout") via
 android.content.res.Configuration.screenLayout with the SCREENLAYOUT_SIZE_MASK.
 Device implementations MUST report the correct screen size as defined in the
 Android SDK documentation [<a href="http://developer.android.com/guide/practices/screens_support.html">Resources, 61</a>] and determined by the upstream Android platform. Specifically, device
@@ -3340,23 +2402,23 @@
 logical density-independent pixel (dp) screen dimensions.</p>
 
 <ul>
-  <li> Devices MUST have screen sizes of at least 426 dp x 320 dp ('small'), unless it
-is an Android Watch device.
-  <li> Devices that report screen size 'normal' MUST have screen sizes of at least 480
-dp x 320 dp.
-  <li> Devices that report screen size 'large' MUST have screen sizes of at least 640
-dp x 480 dp.
-  <li> Devices that report screen size 'xlarge' MUST have screen sizes of at least 960
-dp x 720 dp.
+  <li>Devices MUST have screen sizes of at least 426 dp x 320 dp (&lsquo;small&rsquo;), unless it
+is an Android Watch device.</li>
+  <li>Devices that report screen size &lsquo;normal&rsquo; MUST have screen sizes of at least 480
+dp x 320 dp.</li>
+  <li>Devices that report screen size &lsquo;large&rsquo; MUST have screen sizes of at least 640
+dp x 480 dp.</li>
+  <li>Devices that report screen size &lsquo;xlarge&rsquo; MUST have screen sizes of at least 960
+dp x 720 dp.</li>
 </ul>
 
 <p>In addition, </p>
 
 <ul>
-  <li> Android Watch devices MUST have a screen with the physical diagonal size in the
-range from 1.1 to 2.5 inches
-  <li> Other types of Android device implementations, with a physically integrated
-screen, MUST have a screen at least 2.5 inches in physical diagonal size.
+  <li>Android Watch devices MUST have a screen with the physical diagonal size in the
+range from 1.1 to 2.5 inches.</li>
+  <li>Other types of Android device implementations, with a physically integrated
+screen, MUST have a screen at least 2.5 inches in physical diagonal size.</li>
 </ul>
 
 <p>Devices MUST NOT change their reported screen size at any time.</p>
@@ -3367,16 +2429,11 @@
 normal, large, and xlarge screens, as described in the Android SDK
 documentation.</p>
 
-<h4 id=7_1_1_2_screen_aspect_ratio>7.1.1.2. Screen Aspect Ratio</h4>
+<h4 id="7_1_1_2_screen_aspect_ratio">7.1.1.2. Screen Aspect Ratio</h4>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Watch devices MAY have an aspect ratio of 1.0 (1:1).</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>The screen aspect ratio MUST be a value from 1.3333 (4:3) to 1.86 (roughly
@@ -3384,7 +2441,7 @@
 such a device implementation will use a UI_MODE_TYPE_WATCH as the
 android.content.res.Configuration.uiMode.</p>
 
-<h4 id=7_1_1_3_screen_density>7.1.1.3. Screen Density</h4>
+<h4 id="7_1_1_3_screen_density">7.1.1.3. Screen Density</h4>
 
 
 <p>The Android UI framework defines a set of standard logical densities to help
@@ -3395,16 +2452,16 @@
 default display.</p>
 
 <ul>
-  <li> 120 dpi (ldpi)
-  <li> 160 dpi (mdpi)
-  <li> 213 dpi (tvdpi)
-  <li> 240 dpi (hdpi)
-  <li> 280 dpi (280dpi)
-  <li> 320 dpi (xhdpi)
-  <li> 400 dpi (400dpi)
-  <li> 480 dpi (xxhdpi)
-  <li> 560 dpi (560dpi)
-  <li> 640 dpi (xxxhdpi)
+  <li>120 dpi (ldpi)</li>
+  <li>160 dpi (mdpi)</li>
+  <li>213 dpi (tvdpi)</li>
+  <li>240 dpi (hdpi)</li>
+  <li>280 dpi (280dpi)</li>
+  <li>320 dpi (xhdpi)</li>
+  <li>400 dpi (400dpi)</li>
+  <li>480 dpi (xxhdpi)</li>
+  <li>560 dpi (560dpi)</li>
+  <li>640 dpi (xxxhdpi)</li>
 </ul>
 
 <p>Device implementations SHOULD define the standard Android framework density
@@ -3415,14 +2472,14 @@
 supported compatible screen size (320 dp width), device implementations SHOULD
 report the next lowest standard Android framework density.</p>
 
-<h3 id=7_1_2_display_metrics>7.1.2. Display Metrics</h3>
+<h3 id="7_1_2_display_metrics">7.1.2. Display Metrics</h3>
 
 
 <p>Device implementations MUST report correct values for all display metrics
 defined in android.util.DisplayMetrics [<a href="http://developer.android.com/reference/android/util/DisplayMetrics.html">Resources, 62</a>] and MUST report the same values regardless of whether the embedded or
 external screen is used as the default display.</p>
 
-<h3 id=7_1_3_screen_orientation>7.1.3. Screen Orientation</h3>
+<h3 id="7_1_3_screen_orientation">7.1.3. Screen Orientation</h3>
 
 
 <p>Devices MUST report which screen orientations they support
@@ -3433,18 +2490,18 @@
 
 <p>Devices that report both screen orientations MUST support dynamic orientation
 by applications to either portrait or landscape screen orientation. That is,
-the device must respect the application's request for a specific screen
+the device must respect the application&rsquo;s request for a specific screen
 orientation. Device implementations MAY select either portrait or landscape
 orientation as the default.</p>
 
-<p>Devices MUST report the correct value for the device's current orientation,
+<p>Devices MUST report the correct value for the device&rsquo;s current orientation,
 whenever queried via the android.content.res.Configuration.orientation,
 android.view.Display.getOrientation(), or other APIs.</p>
 
 <p>Devices MUST NOT change the reported screen size or density when changing
 orientation.</p>
 
-<h3 id=7_1_4_2d_and_3d_graphics_acceleration>7.1.4. 2D and 3D Graphics Acceleration</h3>
+<h3 id="7_1_4_2d_and_3d_graphics_acceleration">7.1.4. 2D and 3D Graphics Acceleration</h3>
 
 
 <p>Device implementations MUST support both OpenGL ES 1.0 and 2.0, as embodied and
@@ -3457,22 +2514,22 @@
 OpenGL ES 1.0, OpenGL ES 2.0, OpenGL ES 3.0 or OpenGL 3.1. That is:</p>
 
 <ul>
-  <li> The managed APIs (such as via the GLES10.getString()method MUST report support
-for OpenGL ES 1.0 and OpenGL ES 2.0.
-  <li> The native C/C++ OpenGL APIs (APIs available to apps via libGLES_v1CM.so,
+  <li>The managed APIs (such as via the GLES10.getString()method MUST report support
+for OpenGL ES 1.0 and OpenGL ES 2.0.</li>
+  <li>The native C/C++ OpenGL APIs (APIs available to apps via libGLES_v1CM.so,
 libGLES_v2.so, or libEGL.so) MUST report support for OpenGL ES 1.0 and OpenGL
-ES 2.0.
-  <li> Device implementations that declare support for OpenGL ES 3.0 or 3.1 MUST
+ES 2.0.</li>
+  <li>Device implementations that declare support for OpenGL ES 3.0 or 3.1 MUST
 support the corresponding managed APIs and include support for native C/C++
 APIs. On device implementations that declare support for OpenGL ES 3.0 or 3.1,
 libGLESv2.so MUST export the corresponding function symbols in addition to the
-OpenGL ES 2.0 function symbols.
+OpenGL ES 2.0 function symbols.</li>
 </ul>
 
 <p>In addition to OpenGL ES 3.1, Android provides an extension pack with Java
 interfaces [<a href="https://developer.android.com/reference/android/opengl/GLES31Ext.html">Resources, 64</a>] and native support for advanced graphics functionality such as tessellation
 and the ASTC texture compression format. Android device implementations MAY
-support this extension pack, and—only if fully implemented—MUST identify the
+support this extension pack, and&mdash;only if fully implemented&mdash;MUST identify the
 support through the android.hardware.opengles.aep feature flag.</p>
 
 <p>Also, device implementations MAY implement any desired OpenGL ES extensions.
@@ -3494,7 +2551,7 @@
 
 <p>Device implementations MUST enable hardware acceleration by default, and MUST
 disable hardware acceleration if the developer so requests by setting
-android:hardwareAccelerated="false" or disabling hardware acceleration directly
+android:hardwareAccelerated="false&rdquo; or disabling hardware acceleration directly
 through the Android View APIs.</p>
 
 <p>In addition, device implementations MUST exhibit behavior consistent with the
@@ -3510,10 +2567,10 @@
 that records images to a video. Device implementations MUST support
 EGL_ANDROID_RECORDABLE extension [<a href="https://www.khronos.org/registry/egl/extensions/ANDROID/EGL_ANDROID_recordable.txt">Resources, 66</a>].</p>
 
-<h3 id=7_1_5_legacy_application_compatibility_mode>7.1.5. Legacy Application Compatibility Mode</h3>
+<h3 id="7_1_5_legacy_application_compatibility_mode">7.1.5. Legacy Application Compatibility Mode</h3>
 
 
-<p>Android specifies a "compatibility mode" in which the framework operates in a
+<p>Android specifies a &ldquo;compatibility mode&rdquo; in which the framework operates in a
 'normal' screen size equivalent (320dp width) mode for the benefit of legacy
 applications not developed for old versions of Android that pre-date
 screen-size independence. Device implementations MUST include support for
@@ -3522,7 +2579,7 @@
 or thresholds at which compatibility mode is activated, and MUST NOT alter the
 behavior of the compatibility mode itself.</p>
 
-<h3 id=7_1_6_screen_technology>7.1.6. Screen Technology</h3>
+<h3 id="7_1_6_screen_technology">7.1.6. Screen Technology</h3>
 
 
 <p>The Android platform includes APIs that allow applications to render rich
@@ -3530,15 +2587,15 @@
 the Android SDK unless specifically allowed in this document. </p>
 
 <ul>
-  <li> Devices MUST support displays capable of rendering 16-bit color graphics and
-SHOULD support displays capable of 24-bit color graphics.
-  <li> Devices MUST support displays capable of rendering animations.
-  <li> The display technology used MUST have a pixel aspect ratio (PAR) between 0.9
+  <li>Devices MUST support displays capable of rendering 16-bit color graphics and
+SHOULD support displays capable of 24-bit color graphics.</li>
+  <li>Devices MUST support displays capable of rendering animations.</li>
+  <li>The display technology used MUST have a pixel aspect ratio (PAR) between 0.9
 and 1.15. That is, the pixel aspect ratio MUST be near square (1.0) with a 10 ~
-15% tolerance.
+15% tolerance.</li>
 </ul>
 
-<h3 id=7_1_7_external_displays>7.1.7. External Displays</h3>
+<h3 id="7_1_7_external_displays">7.1.7. External Displays</h3>
 
 
 <p>Android includes support for secondary display to enable media sharing
@@ -3547,90 +2604,73 @@
 additional display connection then the device implementation MUST implement the
 display manager API as described in the Android SDK documentation [<a href="http://developer.android.com/reference/android/hardware/display/DisplayManager.html">Resources, 67</a>].</p>
 
-<h2 id=7_2_input_devices>7.2. Input Devices</h2>
+<h2 id="7_2_input_devices">7.2. Input Devices</h2>
 
 <p>Devices MUST support a touchscreen or meet the requirements listed in 7.2.2
 for non-touch navigation.</p>
 
-<h3 id=7_2_1_keyboard>7.2.1. Keyboard</h3>
+<h3 id="7_2_1_keyboard">7.2.1. Keyboard</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Watch devices MAY but other type of device implementations MUST
 implement a soft keyboard.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Device implementations:</p>
 
 <ul>
-  <li> MUST include support for the Input Management Framework (which allows
-third-party developers to create Input Method Editors—i.e. soft keyboard) as
-detailed at <a href="http://developer.android.com">http://developer.android.com</a>
-  <li> MUST provide at least one soft keyboard implementation (regardless of whether a
+  <li>MUST include support for the Input Management Framework (which allows
+third-party developers to create Input Method Editors&mdash;i.e. soft keyboard) as
+detailed at <a href="http://developer.android.com">http://developer.android.com</a>.</li>
+  <li>MUST provide at least one soft keyboard implementation (regardless of whether a
 hard keyboard is present) except for Android Watch devices where the screen
-size makes it less reasonable to have a soft keyboard
-  <li> MAY include additional soft keyboard implementations
-  <li> MAY include a hardware keyboard
-  <li> MUST NOT include a hardware keyboard that does not match one of the formats
-specified in android.content.res.Configuration.keyboard [<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>] (QWERTY or 12-key)
+size makes it less reasonable to have a soft keyboard.</li>
+  <li>MAY include additional soft keyboard implementations.</li>
+  <li>MAY include a hardware keyboard.</li>
+  <li>MUST NOT include a hardware keyboard that does not match one of the formats
+specified in android.content.res.Configuration.keyboard [<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>] (QWERTY or 12-key).</li>
 </ul>
 
-<h3 id=7_2_2_non-touch_navigation>7.2.2. Non-touch Navigation</h3>
+<h3 id="7_2_2_non-touch_navigation">7.2.2. Non-touch Navigation</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Television devices MUST support D-pad.</p>
-</td>
- </tr>
-</table>
-
+</div>
 
 <p>Device implementations:</p>
 
 <ul>
-  <li> MAY omit a non-touch navigation option (trackball, d-pad, or wheel) if the
-device implementation is not an Android Television device
-  <li> MUST report the correct value for android.content.res.Configuration.navigation
-[<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>]
-  <li> MUST provide a reasonable alternative user interface mechanism for the
+  <li>MAY omit a non-touch navigation option (trackball, d-pad, or wheel) if the
+device implementation is not an Android Television device.</li>
+  <li>MUST report the correct value for android.content.res.Configuration.navigation
+[<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>].</li>
+  <li>MUST provide a reasonable alternative user interface mechanism for the
 selection and editing of text, compatible with Input Management Engines. The
 upstream Android open source implementation includes a selection mechanism
-suitable for use with devices that lack non-touch navigation inputs.
+suitable for use with devices that lack non-touch navigation inputs.</li>
 </ul>
 
-<h3 id=7_2_3_navigation_keys>7.2.3. Navigation Keys</h3>
+<h3 id="7_2_3_navigation_keys">7.2.3. Navigation Keys</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>The availability and visibility requirement of the Home, Recents, and Back
 functions differ between device types as described in this section.</p>
-</td>
- </tr>
-</table>
-
+</div>
 
 <p>The Home, Recents, and Back functions (mapped to the key events KEYCODE_HOME,
 KEYCODE_APP_SWITCH, KEYCODE_BACK, respectively) are essential to the Android
 navigation paradigm and therefore;</p>
 
 <ul>
-  <li> Android Handheld device implementations MUST provide the Home, Recents, and
-Back functions. 
-  <li> Android Television device implementations MUST provide the Home and Back
-functions.
-  <li> Android Watch device implementations MUST have the Home function available to
-the user, and the Back function except for when it is in UI_MODE_TYPE_WATCH.
-  <li> All other types of device implementations MUST provide the Home and Back
-functions.
+  <li>Android Handheld device implementations MUST provide the Home, Recents, and
+Back functions.</li>
+  <li>Android Television device implementations MUST provide the Home and Back
+functions.</li>
+  <li>Android Watch device implementations MUST have the Home function available to
+the user, and the Back function except for when it is in UI_MODE_TYPE_WATCH.</li>
+  <li>All other types of device implementations MUST provide the Home and Back
+functions.</li>
 </ul>
 
 <p>These functions MAY be implemented via dedicated physical buttons (such as
@@ -3657,18 +2697,18 @@
 running applications with targetSdkVersion > 10, the device implementation:</p>
 
 <ul>
-  <li> MUST display the action overflow button on the action bar when it is visible
+  <li>MUST display the action overflow button on the action bar when it is visible
 and the resulting action overflow menu popup is not empty. For a device
 implementation launched before Android 4.4 but upgrading to Android 5.1, this
-is RECOMMENDED.
-  <li> MUST NOT modify the position of the action overflow popup displayed by
-selecting the overflow button in the action bar
-  <li> MAY render the action overflow popup at a modified position on the screen when
-it is displayed by selecting the physical menu button
+is RECOMMENDED.</li>
+  <li>MUST NOT modify the position of the action overflow popup displayed by
+selecting the overflow button in the action bar.</li>
+  <li>MAY render the action overflow popup at a modified position on the screen when
+it is displayed by selecting the physical menu button.</li>
 </ul>
 
 <p>For backwards compatibility, device implementations MUST make the Menu function
-available to applications when targetSdkVersion <= 10, either by a physical
+available to applications when targetSdkVersion is less than 10, either by a physical
 button, a software key, or gestures. This Menu function should be presented
 unless hidden together with other navigation functions.</p>
 
@@ -3684,30 +2724,25 @@
 navigation keys, but if so, MUST meet these requirements:</p>
 
 <ul>
-  <li> Device implementation navigation keys MUST use a distinct portion of the
+  <li>Device implementation navigation keys MUST use a distinct portion of the
 screen, not available to applications, and MUST NOT obscure or otherwise
-interfere with the portion of the screen available to applications.
-  <li> Device implementations MUST make available a portion of the display to
-applications that meets the requirements defined in <a href="#heading=h.mrv5xyps1ba8">section 7.1.1</a>.
-  <li> Device implementations MUST display the navigation keys when applications do
-not specify a system UI mode, or specify SYSTEM_UI_FLAG_VISIBLE.
-  <li> Device implementations MUST present the navigation keys in an unobtrusive "low
-profile" (eg. dimmed) mode when applications specify
-SYSTEM_UI_FLAG_LOW_PROFILE.
-  <li> Device implementations MUST hide the navigation keys when applications specify
-SYSTEM_UI_FLAG_HIDE_NAVIGATION.
+interfere with the portion of the screen available to applications.</li>
+  <li>Device implementations MUST make available a portion of the display to
+applications that meets the requirements defined in <a href="#7_1_1_screen_configuration">section 7.1.1</a>.</li>
+  <li>Device implementations MUST display the navigation keys when applications do
+not specify a system UI mode, or specify SYSTEM_UI_FLAG_VISIBLE.</li>
+  <li>Device implementations MUST present the navigation keys in an unobtrusive &ldquo;low
+profile&rdquo; (eg. dimmed) mode when applications specify
+SYSTEM_UI_FLAG_LOW_PROFILE.</li>
+  <li>Device implementations MUST hide the navigation keys when applications specify
+SYSTEM_UI_FLAG_HIDE_NAVIGATION.</li>
 </ul>
 
-<h3 id=7_2_4_touchscreen_input>7.2.4. Touchscreen Input</h3>
+<h3 id="7_2_4_touchscreen_input">7.2.4. Touchscreen Input</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Handhelds and Watch Devices MUST support touchscreen input.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Device implementations SHOULD have a pointer input system of some kind (either
@@ -3717,9 +2752,9 @@
 include a pointer input system:</p>
 
 <ul>
-  <li> SHOULD support fully independently tracked pointers, if the device input system
-supports multiple pointers
-  <li> MUST report the value of android.content.res.Configuration.touchscreen [<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>] corresponding to the type of the specific touchscreen on the device
+  <li>SHOULD support fully independently tracked pointers, if the device input system
+supports multiple pointers.</li>
+  <li>MUST report the value of android.content.res.Configuration.touchscreen [<a href="http://developer.android.com/reference/android/content/res/Configuration.html">Resources, 68</a>] corresponding to the type of the specific touchscreen on the device.</li>
 </ul>
 
 <p>Android includes support for a variety of touchscreens, touch pads, and fake
@@ -3738,7 +2773,7 @@
 adequately emulate touch-based input (including basic gesture support), and
 indicates that the device supports an emulated subset of touchscreen
 functionality. Device implementations that declare the fake touch feature MUST
-meet the fake touch requirements in <a href="#heading=h.7tz929qk2hjr">section 7.2.5</a>.</p>
+meet the fake touch requirements in <a href="#7_2_5_fake_touch_input">section 7.2.5</a>.</p>
 
 <p>Device implementations MUST report the correct feature corresponding to the
 type of input used. Device implementations that include a touchscreen
@@ -3748,280 +2783,173 @@
 feature constant android.hardware.faketouch. Device implementations that do not
 include a touchscreen (and rely on a pointer device only) MUST NOT report any
 touchscreen feature, and MUST report only android.hardware.faketouch if they
-meet the fake touch requirements in <a href="#heading=h.7tz929qk2hjr">section 7.2.5</a>.</p>
+meet the fake touch requirements in <a href="#7_2_5_fake_touch_input">section 7.2.5</a>.</p>
 
-<h3 id=7_2_5_fake_touch_input>7.2.5. Fake Touch Input</h3>
+<h3 id="7_2_5_fake_touch_input">7.2.5. Fake Touch Input</h3>
 
 
 <p>Device implementations that declare support for android.hardware.faketouch:</p>
 
 <ul>
-  <li> MUST report the absolute X and Y screen positions of the pointer location and
-display a visual pointer on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]
-  <li> MUST report touch event with the action code that specifies the state change
-that occurs on the pointer going down or up on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]
-  <li> MUST support pointer down and up on an object on the screen, which allows users
-to emulate tap on an object on the screen
-  <li> MUST support pointer down, pointer up, pointer down then pointer up in the same
+  <li>MUST report the absolute X and Y screen positions of the pointer location and
+display a visual pointer on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>].</li>
+  <li>MUST report touch event with the action code that specifies the state change
+that occurs on the pointer going down or up on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>].</li>
+  <li>MUST support pointer down and up on an object on the screen, which allows users
+to emulate tap on an object on the screen.</li>
+  <li>MUST support pointer down, pointer up, pointer down then pointer up in the same
 place on an object on the screen within a time threshold, which allows users to
-emulate double tap on an object on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]
-  <li> MUST support pointer down on an arbitrary point on the screen, pointer move to
+emulate double tap on an object on the screen [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>].</li>
+  <li>MUST support pointer down on an arbitrary point on the screen, pointer move to
 any other arbitrary point on the screen, followed by a pointer up, which allows
-users to emulate a touch drag
-  <li> MUST support pointer down then allow users to quickly move the object to a
+users to emulate a touch drag.</li>
+  <li>MUST support pointer down then allow users to quickly move the object to a
 different position on the screen and then pointer up on the screen, which
-allows users to fling an object on the screen
+allows users to fling an object on the screen.</li>
 </ul>
 
 <p>Devices that declare support for android.hardware.faketouch.multitouch.distinct
 MUST meet the requirements for faketouch above, and MUST also support distinct
 tracking of two or more independent pointer inputs.</p>
 
-<h3 id=7_2_6_game_controller_support>7.2.6. Game Controller Support</h3>
+<h3 id="7_2_6_game_controller_support">7.2.6. Game Controller Support</h3>
 
 
 <p>Android Television device implementations MUST support button mappings for game
 controllers as listed below. The upstream Android implementation includes
 implementation for game controllers that satisfies this requirement. </p>
 
-<h4 id=7_2_6_1_button_mappings>7.2.6.1. Button Mappings</h4>
+<h4 id="7_2_6_1_button_mappings">7.2.6.1. Button Mappings</h4>
 
 
 <p>Android Television device implementations MUST support the following key
 mappings:</p>
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Button</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>HID Usage</strong>2</p>
-</td>
-    <td class="tab0">
-<p><strong>Android Button</strong></p>
-</td>
+    <th>Button</th>
+    <th>HID Usage</strong><sup>2</sup></td>
+    <th>Android Button</th>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_A">A</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0001</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_A (96)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_A">A</a><sup>1</sup></td>
+    <td>0x09 0x0001</td>
+    <td>KEYCODE_BUTTON_A (96)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_B">B</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0002</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_B (97)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_B">B</a><sup>1</sup></td>
+    <td>0x09 0x0002</td>
+    <td>KEYCODE_BUTTON_B (97)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_X">X</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0004</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_X (99)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_X">X</a><sup>1</sup></td>
+    <td>0x09 0x0004</td>
+    <td>KEYCODE_BUTTON_X (99)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_Y">Y</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0005</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_Y (100)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_Y">Y</a><sup>1</sup></td>
+    <td>0x09 0x0005</td>
+    <td>KEYCODE_BUTTON_Y (100)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP">D-pad up</a>1</p>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP">D-pad up</a><sup>1</sup></p>
 
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN">D-pad down</a>1</p>
-</td>
-    <td>
-<p>0x01 0x00393</p>
-</td>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_Y">AXIS_HAT_Y</a>4</p>
-</td>
+<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN">D-pad down</a><sup>1</sup></td>
+    <td>0x01 0x00393</td>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_Y">AXIS_HAT_Y</a><sup>4</sup></td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_LEFT">D-pad left</a>1</p>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_LEFT">D-pad left</a>1</p>
 
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_RIGHT">D-pad right</a>1</p>
-</td>
-    <td>
-<p>0x01 0x00393</p>
-</td>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_X">AXIS_HAT_X4 </a></p>
-</td>
+<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_RIGHT">D-pad right</a><sup>1</sup></td>
+    <td>0x01 0x00393</td>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_X">AXIS_HAT_X</a><sup>4</sup></td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_L1">Left shoulder button</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0007</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_L1 (102)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_L1">Left shoulder button</a><sup>1</sup></td>
+    <td>0x09 0x0007</td>
+    <td>KEYCODE_BUTTON_L1 (102)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_R1">Right shoulder button</a>1</p>
-</td>
-    <td>
-<p>0x09 0x0008</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_R1 (103)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_R1">Right shoulder button</a><sup>1</sup></td>
+    <td>0x09 0x0008</td>
+    <td>KEYCODE_BUTTON_R1 (103)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBL">Left stick click</a>1</p>
-</td>
-    <td>
-<p>0x09 0x000E</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_THUMBL (106)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBL">Left stick click</a><sup>1</sup></td>
+    <td>0x09 0x000E</td>
+    <td>KEYCODE_BUTTON_THUMBL (106)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBR">Right stick click</a>1</p>
-</td>
-    <td>
-<p>0x09 0x000F</p>
-</td>
-    <td>
-<p>KEYCODE_BUTTON_THUMBR (107)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBR">Right stick click</a><sup>1</sup></td>
+    <td>0x09 0x000F</td>
+    <td>KEYCODE_BUTTON_THUMBR (107)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME">Home</a>1</p>
-</td>
-    <td>
-<p>0x0c 0x0223</p>
-</td>
-    <td>
-<p>KEYCODE_HOME (3)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME">Home</a><sup>1</sup></td>
+    <td>0x0c 0x0223</td>
+    <td>KEYCODE_HOME (3)</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">Back</a>1</p>
-</td>
-    <td>
-<p>0x0c 0x0224</p>
-</td>
-    <td>
-<p>KEYCODE_BACK (4)</p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">Back</a><sup>1</sup></td>
+    <td>0x0c 0x0224</td>
+    <td>KEYCODE_BACK (4)</td>
  </tr>
 </table>
 
 
-<p>1 [<a href="http://developer.android.com/reference/android/view/KeyEvent.html">Resources, 72</a>]</p>
+<p class="table_footnote">1 [<a href="http://developer.android.com/reference/android/view/KeyEvent.html">Resources, 72</a>]</p>
 
-<p>2 The above HID usages must be declared within a Game pad CA (0x01 0x0005).</p>
+<p class="table_footnote">2 The above HID usages must be declared within a Game pad CA (0x01 0x0005).</p>
 
-<p>3 This usage must have a Logical Minimum of 0, a Logical Maximum of 7, a
+<p class="table_footnote">3 This usage must have a Logical Minimum of 0, a Logical Maximum of 7, a
 Physical Minimum of 0, a Physical Maximum of 315, Units in Degrees, and a
 Report Size of 4. The logical value is defined to be the clockwise rotation
 away from the vertical axis; for example, a logical value of 0 represents no
 rotation and the up button being pressed, while a logical value of 1 represents
 a rotation of 45 degrees and both the up and left keys being pressed.</p>
 
-<p>4 [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]</p>
+<p class="table_footnote">4 [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]</p>
+
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Analog Controls</strong>1</p>
-</td>
-    <td class="tab0">
-<p><strong>HID Usage</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Android Button</strong></p>
-</td>
+    <th>Analog Controls</strong><sup>1</sup></td>
+    <th>HID Usage</th>
+    <th>Android Button</th>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_LTRIGGER">Left Trigger</a></p>
-</td>
-    <td>
-<p>0x02 0x00C5</p>
-</td>
-    <td>
-<p>AXIS_LTRIGGER </p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_LTRIGGER">Left Trigger</a></td>
+    <td>0x02 0x00C5</td>
+    <td>AXIS_LTRIGGER </td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_THROTTLE">Right Trigger</a></p>
-</td>
-    <td>
-<p>0x02 0x00C4</p>
-</td>
-    <td>
-<p>AXIS_RTRIGGER </p>
-</td>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_THROTTLE">Right Trigger</a></td>
+    <td>0x02 0x00C4</td>
+    <td>AXIS_RTRIGGER </td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Y">Left Joystick</a></p>
-</td>
-    <td>
-<p>0x01 0x0030</p>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Y">Left Joystick</a></td>
+    <td>0x01 0x0030</p>
 
-<p>0x01 0x0031</p>
-</td>
-    <td>
-<p>AXIS_X</p>
+<p>0x01 0x0031</td>
+    <td>AXIS_X</p>
 
-<p>AXIS_Y</p>
-</td>
+<p>AXIS_Y</td>
  </tr>
  <tr>
-    <td>
-<p><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Z">Right Joystick</a></p>
-</td>
-    <td>
-<p>0x01 0x0032</p>
+    <td><a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Z">Right Joystick</a></td>
+    <td>0x01 0x0032</p>
 
-<p>0x01 0x0035</p>
-</td>
-    <td>
-<p>AXIS_Z</p>
+<p>0x01 0x0035</td>
+    <td>AXIS_Z</p>
 
-<p>AXIS_RZ</p>
-</td>
+<p>AXIS_RZ</td>
  </tr>
 </table>
 
 
-<p>1 [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]</p>
+<p class="table_footnote">1 [<a href="http://developer.android.com/reference/android/view/MotionEvent.html">Resources, 71</a>]</p>
 
-<h3 id=7_2_7_remote_control>7.2.7. Remote Control</h3>
+<h3 id="7_2_7_remote_control">7.2.7. Remote Control</h3>
 
 
 <p>Android Television device implementations SHOULD provide a remote control to
@@ -4030,13 +2958,12 @@
 or tablet. The remote control MUST meet the requirements defined below.</p>
 
 <ul>
-  <li> <strong>Search affordance</strong>—Device implementations MUST fire KEYCODE_SEARCH when the user invokes voice
-search either on the physical or software-based remote.
-  <li> <strong>Navigation</strong>—All Android Television remotes MUST include Back, Home, and Select buttons and
-support for D-pad events [<a href="http://developer.android.com/reference/android/view/KeyEvent.html">Resources, 72</a>].
+  <li><strong>Search affordance</strong>. Device implementations MUST fire KEYCODE_SEARCH when the user invokes voice search either on the physical or software-based remote.</li>
+  <li><strong>Navigation</strong>. All Android Television remotes MUST include Back, Home, and Select buttons and
+support for D-pad events [<a href="http://developer.android.com/reference/android/view/KeyEvent.html">Resources, 72</a>].</li>
 </ul>
 
-<h2 id=7_3_sensors>7.3. Sensors</h2>
+<h2 id="7_3_sensors">7.3. Sensors</h2>
 
 
 <p>Android includes APIs for accessing a variety of sensor types. Devices
@@ -4044,41 +2971,42 @@
 following subsections. If a device includes a particular sensor type that has a
 corresponding API for third-party developers, the device implementation MUST
 implement that API as described in the Android SDK documentation and the
-Android Open Source documentation on sensors [<a href="http://source.android.com/devices/sensors">Resources, 73</a>]. For example, device implementations:</p>
+Android Open Source documentation on sensors [<a href="http://source.android.com/devices/sensors/">Resources, 73</a>]. For example, device implementations:</p>
 
 <ul>
-  <li> MUST accurately report the presence or absence of sensors per the
-android.content.pm.PackageManager class [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">Resources, 53]</a>
-  <li> MUST return an accurate list of supported sensors via the
-SensorManager.getSensorList() and similar methods
-  <li> MUST behave reasonably for all other sensor APIs (for example, by returning
+  <li>MUST accurately report the presence or absence of sensors per the
+android.content.pm.PackageManager class [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">Resources, 53]</a>.</li>
+  <li>MUST return an accurate list of supported sensors via the
+SensorManager.getSensorList() and similar methods.</li>
+  <li>MUST behave reasonably for all other sensor APIs (for example, by returning
 true or false as appropriate when applications attempt to register listeners,
 not calling sensor listeners when the corresponding sensors are not present;
-etc.)
-  <li> MUST report all sensor measurements using the relevant International System of
+etc.).</li>
+  <li>MUST report all sensor measurements using the relevant International System of
 Units (metric) values for each sensor type as defined in the Android SDK
-documentation [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>]
-  <li> SHOULD report the event time in nanoseconds as defined in the Android SDK
+documentation [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>].</li>
+  <li>SHOULD report the event time in nanoseconds as defined in the Android SDK
 documentation, representing the time the event happened and synchronized with
 the SystemClock.elapsedRealtimeNano() clock. Existing and new Android devices
 are <strong>very strongly encouraged</strong> to meet these requirement so they will be able to upgrade to the future
 platform releases where this might become a REQUIRED component. The
-synchronization error SHOULD be below 100 milliseconds [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp">Resources, 75</a>].
+synchronization error SHOULD be below 100 milliseconds [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp">Resources, 75</a>].</li>
 </ul>
 
 <p>The list above is not comprehensive; the documented behavior of the Android SDK
-and the Android Open Source Documentations on Sensors [<a href="http://source.android.com/devices/sensors">Resources, 73</a>] is to be considered authoritative.</p>
+and the Android Open Source Documentations on Sensors [<a href="http://source.android.com/devices/sensors/">Resources, 73</a>] is to be considered authoritative.</p>
 
 <p>Some sensor types are composite, meaning they can be derived from data provided
 by one or more other sensors. (Examples include the orientation sensor, and the
 linear acceleration sensor.) Device implementations SHOULD implement these
 sensor types, when they include the prerequisite physical sensors as described
-in [<a href="http://source.android.com/devices/sensors/composite_sensors.html">Resources, 76</a>]. If a device implementation includes a composite sensor it MUST implement the
+in [<a href="https://source.android.com/devices/sensors/sensor-types.html">Resources, 76</a>].
+If a device implementation includes a composite sensor it MUST implement the
 sensor as described in the Android Open Source documentation on composite
-sensors [<a href="http://source.android.com/devices/sensors/composite_sensors.html">Resources, 76</a>].</p>
+sensors [<a href="https://source.android.com/devices/sensors/sensor-types.html#composite_sensor_type_summary">Resources, 76</a>].</p>
 
-<p>Some Android sensor supports a "continuous" trigger mode, which returns data
-continuously [<a href="http://source.android.com/devices/sensors/base_triggers.html#continuous">Resources, 77</a>]. For any API indicated by the Android SDK documentation to be a continuous
+<p>Some Android sensors support a &ldquo;continuous&rdquo; trigger mode, which returns data
+continuously [<a href="https://source.android.com/devices/sensors/report-modes.html#continuous">Resources, 77</a>]. For any API indicated by the Android SDK documentation to be a continuous
 sensor, device implementations MUST continuously provide periodic data samples
 that SHOULD have a jitter below 3%, where jitter is defined as the standard
 deviation of the difference of the reported timestamp values between
@@ -4089,9 +3017,9 @@
 a suspend state.</p>
 
 <p>Finally, when several sensors are activated, the power consumption SHOULD NOT
-exceed the sum of the individual sensor’s reported power consumption.</p>
+exceed the sum of the individual sensor&rsquo;s reported power consumption.</p>
 
-<h3 id=7_3_1_accelerometer>7.3.1. Accelerometer</h3>
+<h3 id="7_3_1_accelerometer">7.3.1. Accelerometer</h3>
 
 
 <p>Device implementations SHOULD include a 3-axis accelerometer. Android Handheld
@@ -4099,81 +3027,80 @@
 sensor. If a device implementation does include a 3-axis accelerometer, it:</p>
 
 <ul>
-  <li> MUST implement and report TYPE_ACCELEROMETER sensor [<a href="http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER">Resources, 78</a>]
-  <li> MUST be able to report events up to a frequency of at least 100 Hz and SHOULD
-report events up to at least 200 Hz
-  <li> MUST comply with the Android sensor coordinate system as detailed in the
-Android APIs [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>]
-  <li> MUST be capable of measuring from freefall up to four times the gravity (4g) or
-more on any axis
-  <li> MUST have a resolution of at least 8-bits and SHOULD have a resolution of at
-least 16-bits
-  <li> SHOULD be calibrated while in use if the characteristics changes over the life
+  <li>MUST implement and report TYPE_ACCELEROMETER sensor [<a href="http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER">Resources, 78</a>].</li>
+  <li>MUST be able to report events up to a frequency of at least 100 Hz and SHOULD
+report events up to at least 200 Hz.</li>
+  <li>MUST comply with the Android sensor coordinate system as detailed in the
+Android APIs [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>].</li>
+  <li>MUST be capable of measuring from freefall up to four times the gravity (4g) or
+more on any axis.</li>
+  <li>MUST have a resolution of at least 8-bits and SHOULD have a resolution of at
+least 16-bits.</li>
+  <li>SHOULD be calibrated while in use if the characteristics changes over the life
 cycle and compensated, and preserve the compensation parameters between device
-reboots
-  <li> SHOULD be temperature compensated
-  <li> MUST have a standard deviation no greater than 0.05 m/s^, where the standard
+reboots.</li>
+  <li>SHOULD be temperature compensated.</li>
+  <li>MUST have a standard deviation no greater than 0.05 m/s^, where the standard
 deviation should be calculated on a per axis basis on samples collected over a
-period of at least 3 seconds at the fastest sampling rate
-  <li> SHOULD implement the TYPE_SIGNIFICANT_MOTION, TYPE_TILT_DETECTOR,
+period of at least 3 seconds at the fastest sampling rate.</li>
+  <li>SHOULD implement the TYPE_SIGNIFICANT_MOTION, TYPE_TILT_DETECTOR,
 TYPE_STEP_DETECTOR, TYPE_STEP_COUNTER composite sensors as described in the
 Android SDK document. Existing and new Android devices are <strong>very strongly encouraged</strong> to implement the TYPE_SIGNIFICANT_MOTION composite sensor. If any of these
 sensors are implemented, the sum of their power consumption MUST always be less
 than 4 mW and SHOULD each be below 2 mW and 0.5 mW for when the device is in a
-dynamic or static condition.
-  <li> If a gyroscope sensor is included, MUST implement the TYPE_GRAVITY and
+dynamic or static condition.</li>
+  <li>If a gyroscope sensor is included, MUST implement the TYPE_GRAVITY and
 TYPE_LINEAR_ACCELERATION composite sensors and SHOULD implement the
 TYPE_GAME_ROTATION_VECTOR composite sensor. Existing and new Android devices
-are strongly encouraged to implement the TYPE_GAME_ROTATION_VECTOR sensor.
-  <li> SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if a gyroscope sensor
-and a magnetometer sensor is also included
+are strongly encouraged to implement the TYPE_GAME_ROTATION_VECTOR sensor.</li>
+  <li>SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if a gyroscope sensor
+and a magnetometer sensor is also included.</li>
 </ul>
 
-<h3 id=7_3_2_magnetometer>7.3.2. Magnetometer</h3>
+<h3 id="7_3_2_magnetometer">7.3.2. Magnetometer</h3>
 
 
 <p>Device implementations SHOULD include a 3-axis magnetometer (compass). If a
 device does include a 3-axis magnetometer, it:</p>
 
 <ul>
-  <li> MUST implement the TYPE_MAGNETIC_FIELD sensor and SHOULD also implement
+  <li>MUST implement the TYPE_MAGNETIC_FIELD sensor and SHOULD also implement
 TYPE_MAGNETIC_FIELD_UNCALIBRATED sensor. Existing and new Android devices are
-strongly encouraged to implement the TYPE_MAGNETIC_FIELD_UNCALIBRATED sensor.
-  <li> MUST be able to report events up to a frequency of at least 10 Hz and SHOULD
-report events up to at least 50 Hz
-  <li> MUST comply with the Android sensor coordinate system as detailed in the
-Android APIs [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>]
-  <li> MUST be capable of measuring between -900 μT and +900 μT on each axis before
-saturating
-  <li> MUST have a hard iron offset value less than 700 μT and SHOULD have a value
-below 200 μT, by placing the magnetometer far from dynamic (current-induced)
-and static (magnet-induced) magnetic fields
-  <li> MUST have a resolution equal or denser than 0.6 μT and SHOULD have a resolution
-equal or denser than 0.2 μT
-  <li> SHOULD be temperature compensated
-  <li> MUST support online calibration and compensation of the hard iron bias, and
-preserve the compensation parameters between device reboots
-  <li> MUST have the soft iron compensation applied—the calibration can be done either
-while in use or during the production of the device
-  <li> SHOULD have a standard deviation, calculated on a per axis basis on samples
+strongly encouraged to implement the TYPE_MAGNETIC_FIELD_UNCALIBRATED sensor.</li>
+  <li>MUST be able to report events up to a frequency of at least 10 Hz and SHOULD
+report events up to at least 50 Hz.</li>
+  <li>MUST comply with the Android sensor coordinate system as detailed in the
+Android APIs [<a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Resources, 74</a>].</li>
+  <li>MUST be capable of measuring between -900 &micro;T and +900 &micro;T on each axis before
+saturating.</li>
+  <li>MUST have a hard iron offset value less than 700 &micro;T and SHOULD have a value
+below 200 &micro;T, by placing the magnetometer far from dynamic (current-induced)
+and static (magnet-induced) magnetic fields.</li>
+  <li>MUST have a resolution equal or denser than 0.6 &micro;T and SHOULD have a resolution
+equal or denser than 0.2 &micro;.</li>
+  <li>SHOULD be temperature compensated.</li>
+  <li>MUST support online calibration and compensation of the hard iron bias, and
+preserve the compensation parameters between device reboots.</li>
+  <li>MUST have the soft iron compensation applied&mdash;the calibration can be done either
+while in use or during the production of the device.</li>
+  <li>SHOULD have a standard deviation, calculated on a per axis basis on samples
 collected over a period of at least 3 seconds at the fastest sampling rate, no
-greater than 0.5 μT
-  <li> SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer
-sensor and a gyroscope sensor is also included
-  <li> MAY implement the TYPE_GEOMAGNETIC_ROTATION_VECTOR sensor if an accelerometer
+greater than 0.5 &micro;T.</li>
+  <li>SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer
+sensor and a gyroscope sensor is also included.</li>
+  <li>MAY implement the TYPE_GEOMAGNETIC_ROTATION_VECTOR sensor if an accelerometer
 sensor is also implemented. However if implemented, it MUST consume less than
 10 mW and SHOULD consume less than 3 mW when the sensor is registered for batch
-mode at 10 Hz. 
+mode at 10 Hz.</li>
 </ul>
 
-<h3 id=7_3_3_gps>7.3.3. GPS</h3>
+<h3 id="7_3_3_gps">7.3.3. GPS</h3>
 
 
 <p>Device implementations SHOULD include a GPS receiver. If a device
-implementation does include a GPS receiver, it SHOULD include some form of
-"assisted GPS" technique to minimize GPS lock-on time.</p>
+implementation does include a GPS receiver, it SHOULD include some form of&ldquo;assisted GPS&rdquo; technique to minimize GPS lock-on time.</p>
 
-<h3 id=7_3_4_gyroscope>7.3.4. Gyroscope</h3>
+<h3 id="7_3_4_gyroscope">7.3.4. Gyroscope</h3>
 
 
 <p>Device implementations SHOULD include a gyroscope (angular change sensor).
@@ -4181,43 +3108,43 @@
 also included. If a device implementation includes a gyroscope, it:</p>
 
 <ul>
-  <li> MUST implement the TYPE_GYROSCOPE sensor and SHOULD also implement
+  <li>MUST implement the TYPE_GYROSCOPE sensor and SHOULD also implement
 TYPE_GYROSCOPE_UNCALIBRATED sensor. Existing and new Android devices are
-strongly encouraged to implement the SENSOR_TYPE_GYROSCOPE_UNCALIBRATED sensor. 
-  <li> MUST be capable of measuring orientation changes up to 1,000 degrees per second
-  <li> MUST be able to report events up to a frequency of at least 100 Hz and SHOULD
-report events up to at least 200 Hz
-  <li> MUST have a resolution of 12-bits or more and SHOULD have a resolution of
-16-bits or more
-  <li> MUST be temperature compensated
-  <li> MUST be calibrated and compensated while in use, and preserve the compensation
-parameters between device reboots
-  <li> MUST have a variance no greater than 1e-7 rad^2 / s^2 per Hz (variance per Hz,
+strongly encouraged to implement the SENSOR_TYPE_GYROSCOPE_UNCALIBRATED sensor.</li>
+  <li>MUST be capable of measuring orientation changes up to 1,000 degrees per second.</li>
+  <li>MUST be able to report events up to a frequency of at least 100 Hz and SHOULD
+report events up to at least 200 Hz.</li>
+  <li>MUST have a resolution of 12-bits or more and SHOULD have a resolution of
+16-bits or more.</li>
+  <li>MUST be temperature compensated.</li>
+  <li>MUST be calibrated and compensated while in use, and preserve the compensation
+parameters between device reboots.</li>
+  <li>MUST have a variance no greater than 1e-7 rad^2 / s^2 per Hz (variance per Hz,
 or rad^2 / s). The variance is allowed to vary with the sampling rate, but must
 be constrained by this value. In other words, if you measure the variance of
-the gyro at 1 Hz sampling rate it should be no greater than 1e-7 rad^2/s^2.
-  <li> SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer
-sensor and a magnetometer sensor is also included
-  <li> If an accelerometer sensor is included, MUST implement the TYPE_GRAVITY and
+the gyro at 1 Hz sampling rate it should be no greater than 1e-7 rad^2/s^2.</li>
+  <li>SHOULD implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer
+sensor and a magnetometer sensor is also included.</li>
+  <li>If an accelerometer sensor is included, MUST implement the TYPE_GRAVITY and
 TYPE_LINEAR_ACCELERATION composite sensors and SHOULD implement the
 TYPE_GAME_ROTATION_VECTOR composite sensor. Existing and new Android devices
-are strongly encouraged to implement the TYPE_GAME_ROTATION_VECTOR sensor.
+are strongly encouraged to implement the TYPE_GAME_ROTATION_VECTOR sensor.</li>
 </ul>
 
-<h3 id=7_3_5_barometer>7.3.5. Barometer</h3>
+<h3 id="7_3_5_barometer">7.3.5. Barometer</h3>
 
 
 <p>Device implementations SHOULD include a barometer (ambient air pressure
 sensor). If a device implementation includes a barometer, it:</p>
 
 <ul>
-  <li> MUST implement and report TYPE_PRESSURE sensor
-  <li> MUST be able to deliver events at 5 Hz or greater
-  <li> MUST have adequate precision to enable estimating altitude
-  <li> MUST be temperature compensated
+  <li>MUST implement and report TYPE_PRESSURE sensor.</li>
+  <li>MUST be able to deliver events at 5 Hz or greater.</li>
+  <li>MUST have adequate precision to enable estimating altitude.</li>
+  <li>MUST be temperature compensated.</li>
 </ul>
 
-<h3 id=7_3_6_thermometer>7.3.6. Thermometer</h3>
+<h3 id="7_3_6_thermometer">7.3.6. Thermometer</h3>
 
 
 <p>Device implementations MAY include an ambient thermometer (temperature sensor).
@@ -4229,12 +3156,12 @@
 temperature of the device CPU, and it MUST NOT measure any other temperature.
 Note the SENSOR_TYPE_TEMPERATURE sensor type was deprecated in Android 4.0.</p>
 
-<h3 id=7_3_7_photometer>7.3.7. Photometer</h3>
+<h3 id="7_3_7_photometer">7.3.7. Photometer</h3>
 
 
 <p>Device implementations MAY include a photometer (ambient light sensor).</p>
 
-<h3 id=7_3_8_proximity_sensor>7.3.8. Proximity Sensor</h3>
+<h3 id="7_3_8_proximity_sensor">7.3.8. Proximity Sensor</h3>
 
 
 <p>Device implementations MAY include a proximity sensor. Devices that can make a
@@ -4243,26 +3170,26 @@
 proximity sensor, it:</p>
 
 <ul>
-  <li> MUST measure the proximity of an object in the same direction as the screen.
+  <li>MUST measure the proximity of an object in the same direction as the screen.
 That is, the proximity sensor MUST be oriented to detect objects close to the
 screen, as the primary intent of this sensor type is to detect a phone in use
 by the user. If a device implementation includes a proximity sensor with any
-other orientation, it MUST NOT be accessible through this API.
-  <li> MUST have 1-bit of accuracy or more
+other orientation, it MUST NOT be accessible through this API.</li>
+  <li>MUST have 1-bit of accuracy or more.</li>
 </ul>
 
-<h2 id=7_4_data_connectivity>7.4. Data Connectivity</h2>
+<h2 id="7_4_data_connectivity">7.4. Data Connectivity</h2>
 
 
-<h3 id=7_4_1_telephony>7.4.1. Telephony</h3>
+<h3 id="7_4_1_telephony">7.4.1. Telephony</h3>
 
 
-<p>"Telephony" as used by the Android APIs and this document refers specifically
+<p>&ldquo;Telephony&rdquo; as used by the Android APIs and this document refers specifically
 to hardware related to placing voice calls and sending SMS messages via a GSM
 or CDMA network. While these voice calls may or may not be packet-switched,
 they are for the purposes of Android considered independent of any data
 connectivity that may be implemented using the same network. In other words,
-the Android "telephony" functionality and APIs refer specifically to voice
+the Android &ldquo;telephony&rdquo; functionality and APIs refer specifically to voice
 calls and SMS. For instance, device implementations that cannot place calls or
 send/receive SMS messages MUST NOT report the android.hardware.telephony
 feature or any subfeatures, regardless of whether they use a cellular network
@@ -4274,16 +3201,11 @@
 support for the API for that technology. Device implementations that do not
 include telephony hardware MUST implement the full APIs as no-ops.</p>
 
-<h3 id=7_4_2_ieee_802_11_wi-fi>7.4.2. IEEE 802.11 (Wi-Fi)</h3>
+<h3 id="7_4_2_ieee_802_11_wi-fi">7.4.2. IEEE 802.11 (Wi-Fi)</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
-<p>Android Television device implementations MUST include Wi-Fi support. </p>
-</td>
- </tr>
-</table>
+<div class="note">
+<p>Android Television device implementations MUST include Wi-Fi support.</p>
+</div>
 
 
 <p>Android Television device implementations MUST include support for one or more
@@ -4294,14 +3216,14 @@
 Android API and:</p>
 
 <ul>
-  <li> MUST report the hardware feature flag android.hardware.wifi
-  <li> MUST implement the multicast API as described in the SDK documentation [<a href="http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html">Resources, 79</a>]
-  <li> MUST support multicast DNS (mDNS) and MUST NOT filter mDNS packets
+  <li>MUST report the hardware feature flag android.hardware.wifi.</li>
+  <li>MUST implement the multicast API as described in the SDK documentation [<a href="http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html">Resources, 79</a>].</li>
+  <li>MUST support multicast DNS (mDNS) and MUST NOT filter mDNS packets
 (224.0.0.251) at any time of operation including when the screen is not in an
-active state
+active state.</li>
 </ul>
 
-<h4 id=7_4_2_1_wi-fi_direct>7.4.2.1. Wi-Fi Direct</h4>
+<h4 id="7_4_2_1_wi-fi_direct">7.4.2.1. Wi-Fi Direct</h4>
 
 
 <p>Device implementations SHOULD include support for Wi-Fi Direct (Wi-Fi
@@ -4310,22 +3232,17 @@
 documentation [<a href="http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html">Resources, 80</a>]. If a device implementation includes support for Wi-Fi Direct, then it:</p>
 
 <ul>
-  <li> MUST report the hardware feature android.hardware.wifi.direct
-  <li> MUST support regular Wi-Fi operation
-  <li> SHOULD support concurrent Wi-Fi and Wi-Fi Direct operation
+  <li>MUST report the hardware feature android.hardware.wifi.direct.</li>
+  <li>MUST support regular Wi-Fi operation.</li>
+  <li>SHOULD support concurrent Wi-Fi and Wi-Fi Direct operation.</li>
 </ul>
 
-<h4 id=7_4_2_2_wi-fi_tunneled_direct_link_setup>7.4.2.2. Wi-Fi Tunneled Direct Link Setup</h4>
+<h4 id="7_4_2_2_wi-fi_tunneled_direct_link_setup">7.4.2.2. Wi-Fi Tunneled Direct Link Setup</h4>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Television device implementations MUST include support for Wi-Fi
 Tunneled Direct Link Setup (TDLS).</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Android Television device implementations MUST include support for Wi-Fi
@@ -4335,22 +3252,17 @@
 by the WiFiManager API, the device:</p>
 
 <ul>
-  <li> SHOULD use TDLS only when it is possible AND beneficial
-  <li> SHOULD have some heuristic and NOT use TDLS when its performance might be worse
-than going through the Wi-Fi access point
+  <li>SHOULD use TDLS only when it is possible AND beneficial.</li>
+  <li>SHOULD have some heuristic and NOT use TDLS when its performance might be worse
+than going through the Wi-Fi access point.</li>
 </ul>
 
-<h3 id=7_4_3_bluetooth>7.4.3. Bluetooth</h3>
+<h3 id="7_4_3_bluetooth">7.4.3. Bluetooth</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Watch and Automotive implementations MUST support Bluetooth. Android
 Television implementations MUST support Bluetooth and Bluetooth LE.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Android includes support for Bluetooth and Bluetooth Low Energy [<a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">Resources, 82</a>]. Device implementations that include support for Bluetooth and Bluetooth Low
@@ -4363,22 +3275,21 @@
 <p>Device implementations including support for Bluetooth Low Energy:</p>
 
 <ul>
-  <li> MUST declare the hardware feature android.hardware.bluetooth_le
-  <li> MUST enable the GATT (generic attribute profile) based Bluetooth APIs as
-described in the SDK documentation and [<a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">Resources, 82</a>]
-  <li> SHOULD support offloading of the filtering logic to the bluetooth chipset when
-implementing the ScanFilter API [<a href="https://developer.android.com/reference/android/bluetooth/le/ScanFilter.html">Resources, 83</a>], and MUST report the correct value of where the filtering logic is
-implemented whenever queried via the
-android.bluetooth.BluetoothAdapter.isOffloadedFilteringSupported() method
-  <li> SHOULD support offloading of the batched scanning to the bluetooth chipset, but
-if not supported, MUST report ‘false’ whenever queried via the
-android.bluetooth.BluetoothAdapater.isOffloadedScanBatchingSupported() method.
-  <li> SHOULD support multi advertisement with at least 4 slots, but if not supported,
-MUST report ‘false’ whenever queried via the
-android.bluetooth.BluetoothAdapter.isMultipleAdvertisementSupported() method
+  <li>MUST declare the hardware feature android.hardware.bluetooth_le.</li>
+  <li>MUST enable the GATT (generic attribute profile) based Bluetooth APIs as
+described in the SDK documentation and [<a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">Resources, 82</a>].</li>
+  <li>SHOULD support offloading of the filtering logic to the bluetooth chipset when
+implementing the ScanFilter API [<a href="https://developer.android.com/reference/android/bluetooth/le/ScanFilter.html">Resources, 83</a>], and MUST report the correct value of where the filtering logic is implemented whenever queried via the
+android.bluetooth.BluetoothAdapter.isOffloadedFilteringSupported() method.</li>
+  <li>SHOULD support offloading of the batched scanning to the bluetooth chipset, but
+if not supported, MUST report &lsquo;false&rsquo; whenever queried via the
+android.bluetooth.BluetoothAdapater.isOffloadedScanBatchingSupported() method.</li>
+  <li>SHOULD support multi advertisement with at least 4 slots, but if not supported,
+MUST report &lsquo;false&rsquo; whenever queried via the
+android.bluetooth.BluetoothAdapter.isMultipleAdvertisementSupported() method.</li>
 </ul>
 
-<h3 id=7_4_4_near-field_communications>7.4.4. Near-Field Communications</h3>
+<h3 id="7_4_4_near-field_communications">7.4.4. Near-Field Communications</h3>
 
 
 <p>Device implementations SHOULD include a transceiver and related hardware for
@@ -4386,75 +3297,74 @@
 hardware and plans to make it available to third-party apps, then it:</p>
 
 <ul>
-  <li> MUST report the android.hardware.nfc feature from the
-android.content.pm.PackageManager.hasSystemFeature() method [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">Resources, 53</a>]
-  <li> MUST be capable of reading and writing NDEF messages via the following NFC
+  <li>MUST report the android.hardware.nfc feature from the
+android.content.pm.PackageManager.hasSystemFeature() method [<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">Resources, 53</a>].</li>
+  <li>MUST be capable of reading and writing NDEF messages via the following NFC
 standards:
   <ul>
-    <li> MUST be capable of acting as an NFC Forum reader/writer (as defined by the NFC
+    <li>MUST be capable of acting as an NFC Forum reader/writer (as defined by the NFC
 Forum technical specification NFCForum-TS-DigitalProtocol-1.0) via the
 following NFC standards:
     <ul>
-      <li> NfcA (ISO14443-3A)
-      <li> NfcB (ISO14443-3B)
-      <li> NfcF (JIS 6319-4)
-      <li> IsoDep (ISO 14443-4)
-      <li> NFC Forum Tag Types 1, 2, 3, 4 (defined by the NFC Forum)
+      <li>NfcA (ISO14443-3A)</li>
+      <li>NfcB (ISO14443-3B)</li>
+      <li>NfcF (JIS 6319-4)</li>
+      <li>IsoDep (ISO 14443-4)</li>
+      <li>NFC Forum Tag Types 1, 2, 3, 4 (defined by the NFC Forum)</li>
     </ul>
-  <li> SHOULD be capable of reading and writing NDEF messages via the following NFC
+  <li>SHOULD be capable of reading and writing NDEF messages via the following NFC
 standards. Note that while the NFC standards below are stated as SHOULD, the
 Compatibility Definition for a future version is planned to change these to
 MUST. These standards are optional in this version but will be required in
-future versions. Existing and new devices that run this version of Android are <strong>very strongly encouraged</strong> to meet these requirements now so they will be able to upgrade to the future
-platform releases.
+future versions. Existing and new devices that run this version of Android are <strong>very strongly encouraged</strong> to meet these requirements now so they will be able to upgrade to the future platform releases.</li>
   <ul>
-    <li> NfcV (ISO 15693)
-  </ul>
-  <li> MUST be capable of transmitting and receiving data via the following
+    <li>NfcV (ISO 15693)</li>
+  </ul></li>
+  <li>MUST be capable of transmitting and receiving data via the following
 peer-to-peer standards and protocols:
   <ul>
-    <li> ISO 18092
-    <li> LLCP 1.0 (defined by the NFC Forum)
-    <li> SDP 1.0 (defined by the NFC Forum)
-    <li> NDEF Push Protocol [<a href="http://static.googleusercontent.com/media/source.android.com/en/us/compatibility/ndef-push-protocol.pdf">Resources, 84</a>]
-    <li> SNEP 1.0 (defined by the NFC Forum)
-  </ul>
-  <li> MUST include support for Android Beam [<a href="http://developer.android.com/guide/topics/connectivity/nfc/nfc.html">Resources, 85</a>]:
+    <li>ISO 18092</li>
+    <li>LLCP 1.0 (defined by the NFC Forum)</li>
+    <li>SDP 1.0 (defined by the NFC Forum)</li>
+    <li>NDEF Push Protocol [<a href="http://static.googleusercontent.com/media/source.android.com/en/us/compatibility/ndef-push-protocol.pdf">Resources, 84</a>]</li>
+    <li>SNEP 1.0 (defined by the NFC Forum)</li>
+  </ul></li>
+  <li>MUST include support for Android Beam [<a href="http://developer.android.com/guide/topics/connectivity/nfc/nfc.html">Resources, 85</a>]:
   <ul>
-    <li> MUST implement the SNEP default server. Valid NDEF messages received by the
+    <li>MUST implement the SNEP default server. Valid NDEF messages received by the
 default SNEP server MUST be dispatched to applications using the
 android.nfc.ACTION_NDEF_DISCOVERED intent. Disabling Android Beam in settings
-MUST NOT disable dispatch of incoming NDEF message.
-    <li> MUST honor the android.settings.NFCSHARING_SETTINGS intent to show NFC sharing
-settings [<a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS">Resources, 86</a>]
-    <li> MUST implement the NPP server. Messages received by the NPP server MUST be
-processed the same way as the SNEP default server.
-    <li> MUST implement a SNEP client and attempt to send outbound P2P NDEF to the
+MUST NOT disable dispatch of incoming NDEF message.</li>
+    <li>MUST honor the android.settings.NFCSHARING_SETTINGS intent to show NFC sharing
+settings [<a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS">Resources, 86</a>].</li>
+    <li>MUST implement the NPP server. Messages received by the NPP server MUST be
+processed the same way as the SNEP default server.</li>
+    <li>MUST implement a SNEP client and attempt to send outbound P2P NDEF to the
 default SNEP server when Android Beam is enabled. If no default SNEP server is
-found then the client MUST attempt to send to an NPP server.
-    <li> MUST allow foreground activities to set the outbound P2P NDEF message using
+found then the client MUST attempt to send to an NPP server.</li>
+    <li>MUST allow foreground activities to set the outbound P2P NDEF message using
 android.nfc.NfcAdapter.setNdefPushMessage, and
 android.nfc.NfcAdapter.setNdefPushMessageCallback, and
-android.nfc.NfcAdapter.enableForegroundNdefPush
-    <li> SHOULD use a gesture or on-screen confirmation, such as 'Touch to Beam', before
-sending outbound P2P NDEF messages
-    <li> SHOULD enable Android Beam by default and MUST be able to send and receive
-using Android Beam, even when another proprietary NFC P2p mode is turned on
-    <li> MUST support NFC Connection handover to Bluetooth when the device supports
+android.nfc.NfcAdapter.enableForegroundNdefPush.</li>
+    <li>SHOULD use a gesture or on-screen confirmation, such as 'Touch to Beam', before
+sending outbound P2P NDEF messages.</li>
+    <li>SHOULD enable Android Beam by default and MUST be able to send and receive
+using Android Beam, even when another proprietary NFC P2p mode is turned on.</li>
+    <li>MUST support NFC Connection handover to Bluetooth when the device supports
 Bluetooth Object Push Profile. Device implementations MUST support connection
 handover to Bluetooth when using android.nfc.NfcAdapter.setBeamPushUris, by
-implementing the "Connection Handover version 1.2" [<a href="http://www.nfc-forum.org/specs/spec_list/#conn_handover">Resources, 87</a>] and "Bluetooth Secure Simple Pairing Using NFC version 1.0" [<a href="http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf">Resources, 88</a>] specs from the NFC Forum. Such an implementation MUST implement the handover
-LLCP service with service name "urn:nfc:sn:handover" for exchanging the
+implementing the &ldquo;Connection Handover version 1.2&rdquo; [<a href="http://members.nfc-forum.org/specs/spec_list/#conn_handover">Resources, 87</a>] and &ldquo;Bluetooth Secure Simple Pairing Using NFC version 1.0&rdquo; [<a href="http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf">Resources, 88</a>] specs from the NFC Forum. Such an implementation MUST implement the handover
+LLCP service with service name &ldquo;urn:nfc:sn:handover&rdquo; for exchanging the
 handover request/select records over NFC, and it MUST use the Bluetooth Object
 Push Profile for the actual Bluetooth data transfer. For legacy reasons (to
 remain compatible with Android 4.1 devices), the implementation SHOULD still
 accept SNEP GET requests for exchanging the handover request/select records
 over NFC. However an implementation itself SHOULD NOT send SNEP GET requests
-for performing connection handover.
-  </ul>
-  <li> MUST poll for all supported technologies while in NFC discovery mode
-  <li> SHOULD be in NFC discovery mode while the device is awake with the screen
-active and the lock-screen unlocked
+for performing connection handover.</li>
+  </ul></li>
+  <li>MUST poll for all supported technologies while in NFC discovery mode.</li>
+  <li>SHOULD be in NFC discovery mode while the device is awake with the screen
+active and the lock-screen unlocked.</li>
 </ul>
 </ul>
 
@@ -4466,30 +3376,30 @@
 Application ID (AID) routing, then it:</p>
 
 <ul>
-  <li> MUST report the android.hardware.nfc.hce feature constant
-  <li> MUST support NFC HCE APIs as defined in the Android SDK [<a href="http://developer.android.com/guide/topics/connectivity/nfc/hce.html">Resources, 10</a>]
+  <li>MUST report the android.hardware.nfc.hce feature constant.</li>
+  <li>MUST support NFC HCE APIs as defined in the Android SDK [<a href="http://developer.android.com/guide/topics/connectivity/nfc/hce.html">Resources, 10</a>].</li>
 </ul>
 
 <p>Additionally, device implementations MAY include reader/writer support for the
 following MIFARE technologies.</p>
 
 <ul>
-  <li> MIFARE Classic
-  <li> MIFARE Ultralight 
-  <li> NDEF on MIFARE Classic 
+  <li>MIFARE Classic</li>
+  <li>MIFARE Ultralight</li>
+  <li>NDEF on MIFARE Classic</li>
 </ul>
 
 <p>Note that Android includes APIs for these MIFARE types. If a device
 implementation supports MIFARE in the reader/writer role, it:</p>
 
 <ul>
-  <li> MUST implement the corresponding Android APIs as documented by the Android SDK
-  <li> MUST report the feature com.nxp.mifare from the
+  <li>MUST implement the corresponding Android APIs as documented by the Android SDK.</li>
+  <li>MUST report the feature com.nxp.mifare from the
 android.content.pm.PackageManager.hasSystemFeature() meth<a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">od [Resources, 53]</a>. Note that this is not a standard Android feature and as such does not appear
-as a constant on the PackageManager class.
-  <li> MUST NOT implement the corresponding Android APIs nor report the com.nxp.mifare
+as a constant on the PackageManager class.</li>
+  <li>MUST NOT implement the corresponding Android APIs nor report the com.nxp.mifare
 feature unless it also implements general NFC support as described in this
-section
+section.</li>
 </ul>
 
 <p>If a device implementation does not include NFC hardware, it MUST NOT declare
@@ -4501,7 +3411,7 @@
 implement these APIs even if they do not include support for NFC or declare the
 android.hardware.nfc feature.</p>
 
-<h3 id=7_4_5_minimum_network_capability>7.4.5. Minimum Network Capability</h3>
+<h3 id="7_4_5_minimum_network_capability">7.4.5. Minimum Network Capability</h3>
 
 
 <p>Device implementations MUST include support for one or more forms of data
@@ -4516,13 +3426,13 @@
 
 <p>Devices MAY implement more than one form of data connectivity.</p>
 
-<h3 id=7_4_6_sync_settings>7.4.6. Sync Settings</h3>
+<h3 id="7_4_6_sync_settings">7.4.6. Sync Settings</h3>
 
 
 <p>Device implementations MUST have the master auto-sync setting on by default so
-that the method getMasterSyncAutomatically() returns "true" [<a href="http://developer.android.com/reference/android/content/ContentResolver.html">Resources, 89</a>].</p>
+that the method getMasterSyncAutomatically() returns &ldquo;true&rdquo; [<a href="http://developer.android.com/reference/android/content/ContentResolver.html">Resources, 89</a>].</p>
 
-<h2 id=7_5_cameras>7.5. Cameras</h2>
+<h2 id="7_5_cameras">7.5. Cameras</h2>
 
 
 <p>Device implementations SHOULD include a rear-facing camera and MAY include a
@@ -4537,65 +3447,65 @@
 for an application to simultaneously allocate 3 bitmaps equal to the size of
 the images produced by the largest-resolution camera sensor on the device.</p>
 
-<h3 id=7_5_1_rear-facing_camera>7.5.1. Rear-Facing Camera</h3>
+<h3 id="7_5_1_rear-facing_camera">7.5.1. Rear-Facing Camera</h3>
 
 
 <p>Device implementations SHOULD include a rear-facing camera. If a device
 implementation includes at least one rear-facing camera, it:</p>
 
 <ul>
-  <li> MUST report the feature flag android.hardware.camera and
-android.hardware.camera.any 
-  <li> MUST have a resolution of at least 2 megapixels
-  <li> SHOULD have either hardware auto-focus or software auto-focus implemented in
-the camera driver (transparent to application software)
-  <li> MAY have fixed-focus or EDOF (extended depth of field) hardware
-  <li> MAY include a flash. If the Camera includes a flash, the flash lamp MUST NOT be
+  <li>MUST report the feature flag android.hardware.camera and
+android.hardware.camera.any.</li>
+  <li>MUST have a resolution of at least 2 megapixels.</li>
+  <li>SHOULD have either hardware auto-focus or software auto-focus implemented in
+the camera driver (transparent to application software).</li>
+  <li>MAY have fixed-focus or EDOF (extended depth of field) hardware.</li>
+  <li>MAY include a flash. If the Camera includes a flash, the flash lamp MUST NOT be
 lit while an android.hardware.Camera.PreviewCallback instance has been
 registered on a Camera preview surface, unless the application has explicitly
 enabled the flash by enabling the FLASH_MODE_AUTO or FLASH_MODE_ON attributes
 of a Camera.Parameters object. Note that this constraint does not apply to the
-device's built-in system camera application, but only to third-party
-applications using Camera.PreviewCallback.
+device&rsquo;s built-in system camera application, but only to third-party
+applications using Camera.PreviewCallback.</li>
 </ul>
 
-<h3 id=7_5_2_front-facing_camera>7.5.2. Front-Facing Camera</h3>
+<h3 id="7_5_2_front-facing_camera">7.5.2. Front-Facing Camera</h3>
 
 
 <p>Device implementations MAY include a front-facing camera. If a device
 implementation includes at least one front-facing camera, it:</p>
 
 <ul>
-  <li> MUST report the feature flag android.hardware.camera.any and
-android.hardware.camera.front
-  <li> MUST have a resolution of at least VGA (640x480 pixels)
-  <li> MUST NOT use a front-facing camera as the default for the Camera API. The
+  <li>MUST report the feature flag android.hardware.camera.any and
+android.hardware.camera.front.</li>
+  <li>MUST have a resolution of at least VGA (640x480 pixels).</li>
+  <li>MUST NOT use a front-facing camera as the default for the Camera API. The
 camera API in Android has specific support for front-facing cameras and device
 implementations MUST NOT configure the API to to treat a front-facing camera as
-the default rear-facing camera, even if it is the only camera on the device.
-  <li> MAY include features (such as auto-focus, flash, etc.) available to rear-facing
-cameras as described in <a href="#heading=h.v6dmzvarwqkm">section 7.5.1</a>
-  <li> MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a
+the default rear-facing camera, even if it is the only camera on the device.</li>
+  <li>MAY include features (such as auto-focus, flash, etc.) available to rear-facing
+cameras as described in <a href="#7_5_1_rear-facing_camera">section 7.5.1</a>.</li>
+  <li>MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a
 CameraPreview, as follows:
   <ul>
-    <li> If the device implementation is capable of being rotated by user (such as
+    <li>If the device implementation is capable of being rotated by user (such as
 automatically via an accelerometer or manually via user input), the camera
-preview MUST be mirrored horizontally relative to the device's current
-orientation.
-    <li> If the current application has explicitly requested that the Camera display be
+preview MUST be mirrored horizontally relative to the device&rsquo;s current
+orientation.</li>
+    <li>If the current application has explicitly requested that the Camera display be
 rotated via a call to the android.hardware.Camera.setDisplayOrientation()[<a href="http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)">Resources, 90</a>] method, the camera preview MUST be mirrored horizontally relative to the
-orientation specified by the application.
-    <li> Otherwise, the preview MUST be mirrored along the device's default horizontal
-axis.
-  </ul>
-  <li> MUST mirror the image displayed by the postview in the same manner as the
+orientation specified by the application.</li>
+    <li>Otherwise, the preview MUST be mirrored along the device&rsquo;s default horizontal
+axis.</li>
+  </ul></li>
+  <li>MUST mirror the image displayed by the postview in the same manner as the
 camera preview image stream. If the device implementation does not support
-postview, this requirement obviously does not apply.
-  <li> MUST NOT mirror the final captured still image or video streams returned to
-application callbacks or committed to media storage
+postview, this requirement obviously does not apply.</li>
+  <li>MUST NOT mirror the final captured still image or video streams returned to
+application callbacks or committed to media storage.</li>
 </ul>
 
-<h3 id=7_5_3_external_camera>7.5.3. External Camera</h3>
+<h3 id="7_5_3_external_camera">7.5.3. External Camera</h3>
 
 
 <p>Device implementations with USB host mode MAY include support for an external
@@ -4603,26 +3513,26 @@
 external camera, it:</p>
 
 <ul>
-  <li> MUST declare the platform feature android.hardware.camera.external and
-android.hardware camera.any
-  <li> MUST support USB Video Class (UVC 1.0 or higher)
-  <li> MAY support multiple cameras
+  <li>MUST declare the platform feature android.hardware.camera.external and
+android.hardware camera.any.</li>
+  <li>MUST support USB Video Class (UVC 1.0 or higher).</li>
+  <li>MAY support multiple cameras.</li>
 </ul>
 
 <p>Video compression (such as MJPEG) support is RECOMMENDED to enable transfer of
 high-quality unencoded streams (i.e. raw or independently compressed picture
 streams). Camera-based video encoding MAY be supported. If so, a simultaneous
 unencoded/ MJPEG stream (QVGA or greater resolution) MUST be accessible to the
-device implementation. </p>
+device implementation.</p>
 
-<h3 id=7_5_4_camera_api_behavior>7.5.4. Camera API Behavior</h3>
+<h3 id="7_5_4_camera_api_behavior">7.5.4. Camera API Behavior</h3>
 
 
 <p>Android includes two API packages to access the camera, the newer
 android.hardware.camera2 API expose lower-level camera control to the app,
 including efficient zero-copy burst/streaming flows and per-frame controls of
 exposure, gain, white balance gains, color conversion, denoising, sharpening,
-and more. </p>
+and more.</p>
 
 <p>The older API package, android.hardware.Camera, is marked as deprecated in
 Android 5.0 but as it should still be available for apps to use Android device
@@ -4633,22 +3543,22 @@
 camera-related APIs, for all available cameras:</p>
 
 <ul>
-  <li> If an application has never called
+  <li>If an application has never called
 android.hardware.Camera.Parameters.setPreviewFormat(int), then the device MUST
 use android.hardware.PixelFormat.YCbCr_420_SP for preview data provided to
-application callbacks.
-  <li> If an application registers an android.hardware.Camera.PreviewCallback instance
+application callbacks.</li>
+  <li>If an application registers an android.hardware.Camera.PreviewCallback instance
 and the system calls the onPreviewFrame() method when the preview format is
 YCbCr_420_SP, the data in the byte[] passed into onPreviewFrame() must further
-be in the NV21 encoding format. That is, NV21 MUST be the default.
-  <li> For android.hardware.Camera, device implementations MUST support the YV12
+be in the NV21 encoding format. That is, NV21 MUST be the default.</li>
+  <li>For android.hardware.Camera, device implementations MUST support the YV12
 format (as denoted by the android.graphics.ImageFormat.YV12 constant) for
 camera previews for both front- and rear-facing cameras. (The hardware video
 encoder and camera may use any native pixel format, but the device
-implementation MUST support conversion to YV12.)
-  <li> For android.hardware.camera2, device implementations must support the
+implementation MUST support conversion to YV12.)</li>
+  <li>For android.hardware.camera2, device implementations must support the
 android.hardware.ImageFormat.YUV_420_888 and android.hardware.ImageFormat.JPEG
-formats as outputs through the android.media.ImageReader API.
+formats as outputs through the android.media.ImageReader API.</li>
 </ul>
 
 <p>Device implementations MUST still implement the full Camera API included in the
@@ -4657,7 +3567,7 @@
 registered android.hardware.Camera.AutoFocusCallback instances (even though
 this has no relevance to a non-autofocus camera.) Note that this does apply to
 front-facing cameras; for instance, even though most front-facing cameras do
-not support autofocus, the API callbacks must still be "faked" as described.</p>
+not support autofocus, the API callbacks must still be &ldquo;faked&rdquo; as described.</p>
 
 <p>Device implementations MUST recognize and honor each parameter name defined as
 a constant on the android.hardware.Camera.Parameters class, if the underlying
@@ -4678,8 +3588,7 @@
 
 <p>Device implementations MUST also declare its Individual camera capabilities of
 android.hardware.camera2 via the android.request.availableCapabilities property
-and declare the appropriate feature flags [<a href="http://source.android.com/devices/camera/versioning.html">Resources, 94]</a>; a device must define the feature flag if any of its attached camera devices
-supports the feature. </p>
+and declare the appropriate feature flags [<a href="http://source.android.com/devices/camera/versioning.html">Resources, 94]</a>; a device must define the feature flag if any of its attached camera devices supports the feature.</p>
 
 <p>Device implementations MUST broadcast the Camera.ACTION_NEW_PICTURE intent
 whenever a new picture is taken by the camera and the entry of the picture has
@@ -4689,109 +3598,71 @@
 whenever a new video is recorded by the camera and the entry of the picture has
 been added to the media store.</p>
 
-<h3 id=7_5_5_camera_orientation>7.5.5. Camera Orientation</h3>
+<h3 id="7_5_5_camera_orientation">7.5.5. Camera Orientation</h3>
 
 
 <p>Both front- and rear-facing cameras, if present, MUST be oriented so that the
-long dimension of the camera aligns with the screen's long dimension. That is,
+long dimension of the camera aligns with the screen&rsquo;s long dimension. That is,
 when the device is held in the landscape orientation, cameras MUST capture
-images in the landscape orientation. This applies regardless of the device's
+images in the landscape orientation. This applies regardless of the device&rsquo;s
 natural orientation; that is, it applies to landscape-primary devices as well
 as portrait-primary devices.</p>
 
-<h2 id=7_6_memory_and_storage>7.6. Memory and Storage</h2>
+<h2 id="7_6_memory_and_storage">7.6. Memory and Storage</h2>
 
 
-<h3 id=7_6_1_minimum_memory_and_storage>7.6.1. Minimum Memory and Storage</h3>
+<h3 id="7_6_1_minimum_memory_and_storage">7.6.1. Minimum Memory and Storage</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Television devices MUST have at least 5GB of non-volatile storage
 available for application private data.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>The memory available to the kernel and userspace on device implementations MUST
 be at least equal or larger than the minimum values specified by the following
-table. (See <a href="#heading=h.6fey5v3qb5m3">section 7.1.1</a> for screen size and density definitions.)</p>
+table. (See <a href="#7_1_1_screen_configuration">section 7.1.1</a> for screen size and density definitions.)</p>
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Density and screen size</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>32-bit device</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>64-bit device</strong></p>
-</td>
+    <th>Density and screen size</th>
+    <th>32-bit device</th>
+    <th>64-bit device</th>
  </tr>
  <tr>
-    <td>
-<p>Android Watch devices (due to smaller screens)</p>
-</td>
-    <td>
-<p>416MB</p>
-</td>
-    <td>
-<p>Not applicable</p>
-</td>
+    <td>Android Watch devices (due to smaller screens)</td>
+    <td>416MB</td>
+    <td>Not applicable</td>
  </tr>
  <tr>
-    <td>
-<p>xhdpi or lower on small/normal screens</p>
-
-<p>hdpi or lower on large screens</p>
-
-<p>mdpi or lower on extra large screens</p>
-</td>
-    <td>
-<p>512MB</p>
-</td>
-    <td>
-<p>832MB</p>
-</td>
+    <td><ul>
+    <li class="table_list">xhdpi or lower on small/normal screens</li>
+    <li class="table_list">hdpi or lower on large screens</li>
+    <li class="table_list">mdpi or lower on extra large screens</li></ul></td>
+    <td>512MB</td>
+    <td>832MB</td>
  </tr>
  <tr>
-    <td>
-<p>400dpi or higher on small/normal screens</p>
-
-<p>xhdpi or higher on large screens</p>
-
-<p>tvdpi or higher on extra large screens</p>
-</td>
-    <td>
-<p>896MB</p>
-</td>
-    <td>
-<p>1280MB</p>
-</td>
+    <td><ul>
+    <li class="table_list">400dpi or higher on small/normal screens</li>
+    <li class="table_list">xhdpi or higher on large screens</li>
+     <li class="table_list">tvdpi or higher on extra large screens</li></ul></td>
+    <td>896MB</td>
+    <td>1280MB</td>
  </tr>
  <tr>
-    <td>
-<p>560dpi or higher on small/normal screens</p>
-
-<p>400dpi or higher on large screens</p>
-
-<p>xhdpi or higher on extra large screens</p>
-</td>
-    <td>
-<p>1344MB</p>
-</td>
-    <td>
-<p>1824MB</p>
-</td>
+    <td><ul>
+    <li class="table_list">560dpi or higher on small/normal screens</li>
+    <li class="table_list">400dpi or higher on large screens</li>
+    <li class="table_list">xhdpi or higher on extra large screens</li></ul></td>
+    <td>1344MB</td>
+    <td>1824MB</td>
  </tr>
 </table>
 
 
 <p>The minimum memory values MUST be in addition to any memory space already
 dedicated to hardware components such as radio, video, and so on that is not
-under the kernel's control.</p>
+under the kernel&rsquo;s control.</p>
 
 <p>Android Television devices MUST have at least 5GB and other device
 implementations MUST have at least 1.5GB of non-volatile storage available for
@@ -4802,17 +3673,17 @@
 
 <p>The Android APIs include a Download Manager that applications MAY use to
 download data files [<a href="http://developer.android.com/reference/android/app/DownloadManager.html">Resources, 95</a>]. The device implementation of the Download Manager MUST be capable of
-downloading individual files of at least 100MB in size to the default "cache"
+downloading individual files of at least 100MB in size to the default &ldquo;cache"
 location.</p>
 
-<h3 id=7_6_2_application_shared_storage>7.6.2. Application Shared Storage</h3>
+<h3 id="7_6_2_application_shared_storage">7.6.2. Application Shared Storage</h3>
 
 
 <p>Device implementations MUST offer shared storage for applications also often
-referred as “shared external storage”. </p>
+referred as &ldquo;shared external storage&rdquo;. </p>
 
 <p>Device implementations MUST be configured with shared storage mounted by
-default, "out of the box". If the shared storage is not mounted on the Linux
+default, &ldquo;out of the box&rdquo;. If the shared storage is not mounted on the Linux
 path /sdcard, then the device MUST include a Linux symbolic link from /sdcard
 to the actual mount point.</p>
 
@@ -4821,12 +3692,12 @@
 shared storage requirement, the device implementation:</p>
 
 <ul>
-  <li> MUST implement a toast or pop-up user interface warning the user when there is
-no SD card
-  <li> MUST include a FAT-formatted SD card 1GB in size or larger OR show on the box
+  <li>MUST implement a toast or pop-up user interface warning the user when there is
+no SD card.</li>
+  <li>MUST include a FAT-formatted SD card 1GB in size or larger OR show on the box
 and other material available at time of purchase that the SD card has to be
-separately purchased
-  <li> MUST mount the SD card by default
+separately purchased.</li>
+  <li>MUST mount the SD card by default.</li>
 </ul>
 
 <p>Alternatively, device implementations MAY allocate internal (non-removable)
@@ -4846,7 +3717,7 @@
 an SD card slot and shared internal storage) MUST NOT allow Android
 applications to write to the secondary external storage, except for their
 package-specific directories on the secondary external storage, but SHOULD
-expose content from both storage paths transparently through Android's media
+expose content from both storage paths transparently through Android&rsquo;s media
 scanner service and android.provider.MediaStore.</p>
 
 <p>Regardless of the form of shared storage used, device implementations MUST
@@ -4856,17 +3727,17 @@
 Protocol. If the device implementation supports Media Transfer Protocol, it:</p>
 
 <ul>
-  <li> SHOULD be compatible with the reference Android MTP host, Android File Transfer
-[<a href="http://www.android.com/filetransfer">Resources, 96</a>]
-  <li> SHOULD report a USB device class of 0x00
-  <li> SHOULD report a USB interface name of 'MTP'
+  <li>SHOULD be compatible with the reference Android MTP host, Android File Transfer
+[<a href="http://www.android.com/filetransfer">Resources, 96</a>].</li>
+  <li>SHOULD report a USB device class of 0x00.</li>
+  <li>SHOULD report a USB interface name of 'MTP'.</li>
 </ul>
 
 <p>If the device implementation lacks USB ports, it MUST provide a host computer
 with access to the contents of shared storage by some other means, such as a
 network file system.</p>
 
-<h2 id=7_7_usb>7.7. USB</h2>
+<h2 id="7_7_usb">7.7. USB</h2>
 
 
 <p>Device implementations SHOULD support USB peripheral mode and SHOULD support
@@ -4875,95 +3746,84 @@
 <p>If a device implementation includes a USB port supporting peripheral mode:</p>
 
 <ul>
-  <li> The port MUST be connectable to a USB host that has a standard type-A or type
--C USB port.
-  <li> The port SHOULD use micro-A, micro-AB or type-C USB form factor. Existing and
-new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to the future platform releases.
-  <li> The port SHOULD be centered in the middle of an edge. Device implementations
+  <li>The port MUST be connectable to a USB host that has a standard type-A or type
+-C USB port.</li>
+  <li>The port SHOULD use micro-A, micro-AB or type-C USB form factor. Existing and
+new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to the future platform releases.</li>
+  <li>The port SHOULD be centered in the middle of an edge. Device implementations
 SHOULD either locate the port on the bottom of the device (according to natural
 orientation) or enable software screen rotation for all apps (including home
 screen), so that the display draws correctly when the device is oriented with
-the port at bottom. Existing and new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to future platform releases.
-  <li> It MUST allow a USB host connected with the Android device to access the
+the port at bottom. Existing and new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to future platform releases.</li>
+  <li>It MUST allow a USB host connected with the Android device to access the
 contents of the shared storage volume using either USB mass storage or Media
 Transfer Protocol, if the device reports the android.hardware.feature.output
-feature or the android.hardware.camera feature.
-  <li> It SHOULD implement the Android Open Accessory (AOA) API and specification as
+feature or the android.hardware.camera feature.</li>
+  <li>It SHOULD implement the Android Open Accessory (AOA) API and specification as
 documented in the Android SDK documentation, and if it is an Android Handheld
 device it MUST implement the AOA API. Device implementations implementing the
 AOA specification:
   <ul>
-    <li> MUST declare support for the hardware feature android.hardware.usb.accessory [<a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html">Resources, 97</a>]
-    <li> MUST implement the USB audio class as documented in the Android SDK
-documentation [<a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">Resources, 98</a>]
-  </ul>
-  <li> It SHOULD implement support to draw 1.5 A current during HS chirp and traffic
-as specified in the USB battery charging specification [<a href="http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf">Resources, 99</a>]. Existing and new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to the future platform releases.
-  <li> The value of iSerialNumber in USB standard device descriptor MUST be equal to
-the value of android.os.Build.SERIAL.
+    <li>MUST declare support for the hardware feature android.hardware.usb.accessory [<a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html">Resources, 97</a>].</li>
+    <li>MUST implement the USB audio class as documented in the Android SDK
+documentation [<a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">Resources, 98</a>].</li>
+  </ul></li>
+  <li>It SHOULD implement support to draw 1.5 A current during HS chirp and traffic
+as specified in the USB battery charging specification [<a href="http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf">Resources, 99</a>]. Existing and new Android devices are <strong>very strongly encouraged to meet these requirements</strong> so they will be able to upgrade to the future platform releases.</li>
+  <li>The value of iSerialNumber in USB standard device descriptor MUST be equal to
+the value of android.os.Build.SERIAL.</li>
 </ul>
 
 <p>If a device implementation includes a USB port supporting host mode, it:</p>
 
 <ul>
-  <li> SHOULD use a type-C USB port, if the device implementation supports USB 3.1
-  <li> MAY use a non-standard port form factor, but if so MUST ship with a cable or
-cables adapting the port to a standard type-A or type-C USB port
-  <li> MAY use a micro-AB USB port, but if so SHOULD ship with a cable or cables
-adapting the port to a standard type-A or type-C USB port
-  <li> is <strong>very strongly RECOMMENDED</strong> to implement the USB audio class as documented in the Android SDK
-documentation [<a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">Resources, 98</a>]
-  <li> MUST implement the Android USB host API as documented in the Android SDK, and
-MUST declare support for the hardware feature android.hardware.usb.host [<a href="http://developer.android.com/guide/topics/connectivity/usb/host.html">Resources, 100</a>]
-  <li> SHOULD support the Charging Downstream Port output current range of 1.5 A ~ 5 A
-as specified in the USB Battery Charging Specifications [<a href="http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf">Resources, 99</a>]
+  <li>SHOULD use a type-C USB port, if the device implementation supports USB 3.1.</li>
+  <li>MAY use a non-standard port form factor, but if so MUST ship with a cable or
+cables adapting the port to a standard type-A or type-C USB port.</li>
+  <li>MAY use a micro-AB USB port, but if so SHOULD ship with a cable or cables
+adapting the port to a standard type-A or type-C USB port.</li>
+  <li>is <strong>very strongly RECOMMENDED</strong> to implement the USB audio class as documented in the Android SDK
+documentation [<a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">Resources, 98</a>].</li>
+  <li>MUST implement the Android USB host API as documented in the Android SDK, and
+MUST declare support for the hardware feature android.hardware.usb.host [<a href="http://developer.android.com/guide/topics/connectivity/usb/host.html">Resources, 100</a>].</li>
+  <li>SHOULD support the Charging Downstream Port output current range of 1.5 A ~ 5 A
+as specified in the USB Battery Charging Specifications [<a href="http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf">Resources, 99</a>].</li>
 </ul>
 
-<h2 id=7_8_audio>7.8. Audio</h2>
+<h2 id="7_8_audio">7.8. Audio</h2>
 
 
-<h3 id=7_8_1_microphone>7.8.1. Microphone</h3>
+<h3 id="7_8_1_microphone">7.8.1. Microphone</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Handheld and Watch devices MUST include a microphone.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Device implementations MAY omit a microphone. However, if a device
 implementation omits a microphone, it MUST NOT report the
 android.hardware.microphone feature constant, and MUST implement the audio
-recording API at least as no-ops, per <a href="#heading=h.5h5uvpadidzr">section 7</a>. Conversely, device implementations that do possess a microphone:</p>
+recording API at least as no-ops, per <a href="#7_hardware_compatibility">section 7</a>. Conversely, device implementations that do possess a microphone:</p>
 
 <ul>
-  <li> MUST report the android.hardware.microphone feature constant
-  <li> MUST meet the audio recording requirements in <a href="#heading=h.q24elivs4xtv">section 5.4</a>
-  <li> MUST meet the audio latency requirements in <a href="#heading=h.1p55xhbym9l4">section 5.6</a>
+  <li>MUST report the android.hardware.microphone feature constant
+  <li>MUST meet the audio recording requirements in <a href="#5_4_audio_recording">section 5.4</a>
+  <li>MUST meet the audio latency requirements in <a href="#5_6_audio_latency">section 5.6</a>
 </ul>
 
-<h3 id=7_8_2_audio_output>7.8.2. Audio Output</h3>
+<h3 id="7_8_2_audio_output">7.8.2. Audio Output</h3>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Android Watch devices MAY include an audio output.</p>
-</td>
- </tr>
-</table>
-
+</div>
 
 <p>Device implementations including a speaker or with an audio/multimedia output
 port for an audio output peripheral as a headset or an external speaker:</p>
 
 <ul>
-  <li> MUST report the android.hardware.audio.output feature constant
-  <li> MUST meet the audio playback requirements in <a href="#heading=h.1xocvxnwynnm">section 5.5</a>
-  <li> MUST meet the audio latency requirements in <a href="#heading=h.1p55xhbym9l4">section 5.6</a>
+  <li>MUST report the android.hardware.audio.output feature constant.</li>
+  <li>MUST meet the audio playback requirements in <a href="#5_5_audio_playback">section 5.5</a>.</li>
+  <li>MUST meet the audio latency requirements in <a href="#5_6_audio_latency">section 5.6</a>.</li>
 </ul>
 
 <p>Conversely, if a device implementation does not include a speaker or audio
@@ -4974,7 +3834,7 @@
 other types of Android device implementations MUST have an audio output and
 declare android.hardware.audio.output.</p>
 
-<h4 id=7_8_2_1_analog_audio_ports>7.8.2.1. Analog Audio Ports</h4>
+<h4 id="7_8_2_1_analog_audio_ports">7.8.2.1. Analog Audio Ports</h4>
 
 
 <p>In order to be compatible with the headsets and other audio accessories using
@@ -4983,36 +3843,36 @@
 implementation has a 4 conductor 3.5mm audio jack, it:</p>
 
 <ul>
-  <li> MUST support audio playback to stereo headphones and stereo headsets with a
+  <li>MUST support audio playback to stereo headphones and stereo headsets with a
 microphone, and SHOULD support audio recording from stereo headsets with a
-microphone
-  <li> MUST support TRRS audio plugs with the CTIA pin-out order, and SHOULD support
-audio plugs with the OMTP pin-out order
-  <li> MUST support the detection of microphone on the plugged in audio accessory, if
+microphone.</li>
+  <li>MUST support TRRS audio plugs with the CTIA pin-out order, and SHOULD support
+audio plugs with the OMTP pin-out order.</li>
+  <li>MUST support the detection of microphone on the plugged in audio accessory, if
 the device implementation supports a microphone, and broadcast the
-android.intent.action.HEADSET_PLUG with the extra value microphone set as 1
-  <li> SHOULD support the detection and mapping to the keycodes for the following 3
+android.intent.action.HEADSET_PLUG with the extra value microphone set as 1.</li>
+  <li>SHOULD support the detection and mapping to the keycodes for the following 3
 ranges of equivalent impedance between the microphone and ground conductors on
 the audio plug:
   <ul>
-    <li> <strong>70 ohm or less</strong>: KEYCODE_HEADSETHOOK
-    <li> <strong>210–290 Ohm</strong>:<strong> </strong>KEYCODE_VOLUME_UP
-    <li> <strong>360–680 Ohm</strong>: KEYCODE_VOLUME_DOWN
-  </ul>
-  <li> SHOULD support the detection and mapping to the keycode for the following range
+    <li><strong>70 ohm or less</strong>: KEYCODE_HEADSETHOOK</li>
+    <li><strong>210&#45;290 Ohm</strong>:<strong> </strong>KEYCODE_VOLUME_UP</li>
+    <li><strong>360&#45;680 Ohm</strong>: KEYCODE_VOLUME_DOWN</li>
+  </ul></li>
+  <li>SHOULD support the detection and mapping to the keycode for the following range
 of equivalent impedance between the microphone and ground conductors on the
 audio plug:
   <ul>
-    <li> <strong>110–180 Ohm: </strong>KEYCODE_VOICE_ASSIST
-  </ul>
-  <li> MUST trigger ACTION_HEADSET_PLUG upon a plug insert, but only after all
-contacts on plug are touching their relevant segments on the jack
-  <li> MUST be capable of driving at least 150mV +/- 10% of output voltage on a 32 Ohm
-speaker impedance
-  <li> MUST have a microphone bias voltage between 1.8V ~ 2.9V
+    <li><strong>110&#45;180 Ohm: </strong>KEYCODE_VOICE_ASSIST</li>
+  </ul></li>
+  <li>MUST trigger ACTION_HEADSET_PLUG upon a plug insert, but only after all
+contacts on plug are touching their relevant segments on the jack.</li>
+  <li>MUST be capable of driving at least 150mV +/- 10% of output voltage on a 32 Ohm
+speaker impedance.</li>
+  <li>MUST have a microphone bias voltage between 1.8V ~ 2.9V.</li>
 </ul>
 
-<h1 id=8_performance_compatibility>8. Performance Compatibility</h1>
+<h1 id="8_performance_compatibility">8. Performance Compatibility</h1>
 
 
 <p>Some minimum performance criterias are critical to the user experience and
@@ -5020,7 +3880,7 @@
 Android Watch devices SHOULD and other type of device implementations MUST meet
 the following criteria:</p>
 
-<h2 id=8_1_user_experience_consistency>8.1. User Experience Consistency</h2>
+<h2 id="8_1_user_experience_consistency">8.1. User Experience Consistency</h2>
 
 
 <p>Device implementations MUST provide a smooth user interface by ensuring a
@@ -5028,33 +3888,33 @@
 implementations MUST meet the following requirements: </p>
 
 <ul>
-  <li> <strong>Consistent frame latency</strong>—Inconsistent frame latency or a delay to render frames MUST NOT happen more
-often than 5 frames in a second, and SHOULD be below 1 frames in a second. 
-  <li> <strong>User interface latency</strong>—Device implementations MUST ensure low latency user experience by scrolling a
+  <li><strong>Consistent frame latency</strong>. Inconsistent frame latency or a delay to render frames MUST NOT happen more
+often than 5 frames in a second, and SHOULD be below 1 frames in a second.</li>
+  <li><strong>User interface latency</strong>. Device implementations MUST ensure low latency user experience by scrolling a
 list of 10K list entries as defined by the Android Compatibility Test Suite
-(CTS) in less than 36 secs. 
-  <li> <strong>Task switching</strong>—When multiple applications have been launched, re-launching an already-running
-application after it has been launched MUST take less than 1 second.
+(CTS) in less than 36 secs.</li>
+  <li><strong>Task switching</strong>. When multiple applications have been launched, re-launching an already-running
+application after it has been launched MUST take less than 1 second.</li>
 </ul>
 
-<h2 id=8_2_file_i_o_access_performance>8.2. File I/O Access Performance</h2>
+<h2 id="8_2_file_i_o_access_performance">8.2. File I/O Access Performance</h2>
 
 
 <p>Device implementations MUST ensure file access performance consistency for read
 and write operations. </p>
 
 <ul>
-  <li> <strong>Sequential write</strong>—Device implementations MUST ensure a sequential write performance of 10MB/s
-for a 256MB file using 10MB write buffer. 
-  <li> <strong>Random write</strong>—Device implementations MUST ensure a random write performance of 0.5MB/s for a
-256MB file using 4KB write buffer. 
-  <li> <strong>Sequential read</strong>—Device implementations MUST ensure a sequential read performance of 15MB/s for
-a 256MB file using 10MB write buffer. 
-  <li> <strong>Random read</strong>—Device implementations MUST ensure a random read performance of 3.5MB/s for a
-256MB file using 4KB write buffer. 
+  <li><strong>Sequential write</strong>. Device implementations MUST ensure a sequential write performance of 10MB/s
+for a 256MB file using 10MB write buffer.</li>
+  <li><strong>Random write</strong>. Device implementations MUST ensure a random write performance of 0.5MB/s for a
+256MB file using 4KB write buffer.</li>
+  <li><strong>Sequential read</strong>. Device implementations MUST ensure a sequential read performance of 15MB/s for
+a 256MB file using 10MB write buffer.</li>
+  <li><strong>Random read</strong>. Device implementations MUST ensure a random read performance of 3.5MB/s for a
+256MB file using 4KB write buffer.</li>
 </ul>
 
-<h1 id=9_security_model_compatibility>9. Security Model Compatibility</h1>
+<h1 id="9_security_model_compatibility">9. Security Model Compatibility</h1>
 
 
 <p>Device implementations MUST implement a security model consistent with the
@@ -5065,7 +3925,7 @@
 compatible devices MUST support the security mechanisms described in the follow
 subsections.</p>
 
-<h2 id=9_1_permissions>9.1. Permissions</h2>
+<h2 id="9_1_permissions">9.1. Permissions</h2>
 
 
 <p>Device implementations MUST support the Android permissions model as defined in
@@ -5074,7 +3934,7 @@
 ignored. Implementations MAY add additional permissions, provided the new
 permission ID strings are not in the android.* namespace.</p>
 
-<h2 id=9_2_uid_and_process_isolation>9.2. UID and Process Isolation</h2>
+<h2 id="9_2_uid_and_process_isolation">9.2. UID and Process Isolation</h2>
 
 
 <p>Device implementations MUST support the Android application sandbox model, in
@@ -5083,13 +3943,13 @@
 the same Linux user ID, provided that the applications are properly signed and
 constructed, as defined in the Security and Permissions reference [<a href="http://developer.android.com/guide/topics/security/permissions.html">Resources, 102</a>].</p>
 
-<h2 id=9_3_filesystem_permissions>9.3. Filesystem Permissions</h2>
+<h2 id="9_3_filesystem_permissions">9.3. Filesystem Permissions</h2>
 
 
 <p>Device implementations MUST support the Android file access permissions model
 as defined in the Security and Permissions reference [<a href="http://developer.android.com/guide/topics/security/permissions.html">Resources, 102</a>].</p>
 
-<h2 id=9_4_alternate_execution_environments>9.4. Alternate Execution Environments</h2>
+<h2 id="9_4_alternate_execution_environments">9.4. Alternate Execution Environments</h2>
 
 
 <p>Device implementations MAY include runtime environments that execute
@@ -5099,10 +3959,10 @@
 applications, as described in this section.</p>
 
 <p>Alternate runtimes MUST themselves be Android applications, and abide by the
-standard Android security model, as described elsewhere in <a href="#heading=h.a32osmf1tmwt">section 9</a>.</p>
+standard Android security model, as described elsewhere in <a href="#9_security_model_compatibility">section 9</a>.</p>
 
 <p>Alternate runtimes MUST NOT be granted access to resources protected by
-permissions not requested in the runtime's AndroidManifest.xml file via the
+permissions not requested in the runtime&rsquo;s AndroidManifest.xml file via the
 <uses-permission> mechanism.</p>
 
 <p>Alternate runtimes MUST NOT permit applications to make use of features
@@ -5112,17 +3972,17 @@
 alternate runtimes:</p>
 
 <ul>
-  <li> SHOULD install apps via the PackageManager into separate Android sandboxes (
-Linux user IDs, etc.)
-  <li> MAY provide a single Android sandbox shared by all applications using the
-alternate runtime
-  <li> and installed applications using an alternate runtime, MUST NOT reuse the
+  <li>SHOULD install apps via the PackageManager into separate Android sandboxes (
+Linux user IDs, etc.).</li>
+  <li>MAY provide a single Android sandbox shared by all applications using the
+alternate runtime.</li>
+  <li>and installed applications using an alternate runtime, MUST NOT reuse the
 sandbox of any other app installed on the device, except through the standard
-Android mechanisms of shared user ID and signing certificate
-  <li> MUST NOT launch with, grant, or be granted access to the sandboxes
-corresponding to other Android applications
-  <li> MUST NOT be launched with, be granted, or grant to other applications any
-privileges of the superuser (root), or of any other user ID
+Android mechanisms of shared user ID and signing certificate.</li>
+  <li>MUST NOT launch with, grant, or be granted access to the sandboxes
+corresponding to other Android applications.</li>
+  <li>MUST NOT be launched with, be granted, or grant to other applications any
+privileges of the superuser (root), or of any other user ID.</li>
 </ul>
 
 <p>The .apk files of alternate runtimes MAY be included in the system image of a
@@ -5138,60 +3998,55 @@
 runtime environment MUST list all permissions held by the runtime itself when
 installing any application using that runtime.</p>
 
-<h2 id=9_5_multi-user_support>9.5. Multi-User Support</h2>
+<h2 id="9_5_multi-user_support">9.5. Multi-User Support</h2>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>This feature is optional for all device types.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>Android includes support for multiple users and provides support for full user
 isolation [<a href="http://developer.android.com/reference/android/os/UserManager.html">Resources, 103]</a>. Device implementations MAY enable multiple users, but when enabled MUST meet
-the following requirements related to multi-user support [<a href="http://source.android.com/devices/tech/storage">Resources, 104</a>]:</p>
+the following requirements related to multi-user support [<a href="http://source.android.com/devices/storage/">Resources, 104</a>]:</p>
 
 <ul>
-  <li> Device implementations that do not declare the android.hardware.telephony
+  <li>Device implementations that do not declare the android.hardware.telephony
 feature flag MUST support restricted profiles, a feature that allows device
 owners to manage additional users and their capabilities on the device. With
 restricted profiles, device owners can quickly set up separate environments for
 additional users to work in, with the ability to manage finer-grained
-restrictions in the apps that are available in those environments.
-  <li> Conversely device implementations that declare the android.hardware.telephony
+restrictions in the apps that are available in those environments.</li>
+  <li>Conversely device implementations that declare the android.hardware.telephony
 feature flag MUST NOT support restricted profiles but MUST align with the AOSP
 implementation of controls to enable /disable other users from accessing the
-voice calls and SMS.
-  <li> Device implementations MUST, for each user, implement a security model
+voice calls and SMS.</li>
+  <li>Device implementations MUST, for each user, implement a security model
 consistent with the Android platform security model as defined in Security and
-Permissions reference document in the APIs [<a href="http://developer.android.com/guide/topics/security/permissions.html">Resources, 102</a>]
-  <li> Device implementations MAY support creating users and managed profiles via the
+Permissions reference document in the APIs [<a href="http://developer.android.com/guide/topics/security/permissions.html">Resources, 102</a>].</li>
+  <li>Device implementations MAY support creating users and managed profiles via the
 android.app.admin.DevicePolicyManager APIs, and if supported, MUST declare the
-platform feature flag android.software.managed_users. 
-  <li> Device implementations that declare the feature flag
+platform feature flag android.software.managed_users.
+  <li>Device implementations that declare the feature flag
 android.software.managed_users MUST use the upstream AOSP icon badge to
 represent the managed applications and other badge UI elements like Recents &
-Notifications. 
-  <li> Each user instance on an Android device MUST have separate and isolated
+Notifications.</li>
+  <li>Each user instance on an Android device MUST have separate and isolated
 external storage directories. Device implementations MAY store multiple users'
 data on the same volume or filesystem. However, the device implementation MUST
 ensure that applications owned by and running on behalf a given user cannot
 list, read, or write to data owned by any other user. Note that removable
-media, such as SD card slots, can allow one user to access another's data by
+media, such as SD card slots, can allow one user to access another&rsquo;s data by
 means of a host PC. For this reason, device implementations that use removable
 media for the external storage APIs MUST encrypt the contents of the SD card if
 multiuser is enabled using a key stored only on non-removable media accessible
 only to the system. As this will make the media unreadable by a host PC, device
 implementations will be required to switch to MTP or a similar system to
-provide host PCs with access to the current user's data. Accordingly, device
+provide host PCs with access to the current user&rsquo;s data. Accordingly, device
 implementations MAY but SHOULD NOT enable multi-user if they use removable
-media [<a href="http://developer.android.com/reference/android/os/Environment.html">Resources, 105</a>] for primary external storage. 
+media [<a href="http://developer.android.com/reference/android/os/Environment.html">Resources, 105</a>] for primary external storage.</li>
 </ul>
 
-<h2 id=9_6_premium_sms_warning>9.6. Premium SMS Warning</h2>
+<h2 id="9_6_premium_sms_warning">9.6. Premium SMS Warning</h2>
 
 
 <p>Android includes support for warning users of any outgoing premium SMS message
@@ -5202,7 +4057,7 @@
 /data/misc/sms/codes.xml file in the device. The upstream Android Open Source
 Project provides an implementation that satisfies this requirement.</p>
 
-<h2 id=9_7_kernel_security_features>9.7. Kernel Security Features</h2>
+<h2 id="9_7_kernel_security_features">9.7. Kernel Security Features</h2>
 
 
 <p>The Android Sandbox includes features that can use the Security-Enhanced Linux
@@ -5211,16 +4066,16 @@
 the Android framework:</p>
 
 <ul>
-  <li> MUST maintain compatibility with existing applications
-  <li> MUST NOT have a visible user interface when a security violation is detected
+  <li>MUST maintain compatibility with existing applications.</li>
+  <li>MUST NOT have a visible user interface when a security violation is detected
 and successfully blocked, but MAY have a visible user interface when an
-unblocked security violation occurs resulting in a successful exploit
-  <li> SHOULD NOT be user or developer configurable
+unblocked security violation occurs resulting in a successful exploit.</li>
+  <li>SHOULD NOT be user or developer configurable.</li>
 </ul>
 
 <p>If any API for configuration of policy is exposed to an application that can
 affect another application (such as a Device Administration API), the API MUST
-NOT allow configurations that break compatibility. </p>
+NOT allow configurations that break compatibility.</p>
 
 <p>Devices MUST implement SELinux or an equivalent mandatory access control system
 if using a kernel other than Linux and meet the following requirements, which
@@ -5230,17 +4085,17 @@
 <p>Device implementations:</p>
 
 <ul>
-  <li> MUST support a SELinux policy that allows the SELinux mode to be set on a
+  <li>MUST support a SELinux policy that allows the SELinux mode to be set on a
 per-domain basis, and MUST configure all domains in enforcing mode. No
 permissive mode domains are allowed, including domains specific to a
-device/vendor
-  <li> SHOULD load policy from /sepolicy file on the device
-  <li> MUST NOT modify, omit, or replace the neverallow rules present within the
+device/vendor.</li>
+  <li>SHOULD load policy from /sepolicy file on the device.</li>
+  <li>MUST NOT modify, omit, or replace the neverallow rules present within the
 sepolicy file provided in the upstream Android Open Source Project (AOSP) and
 the policy MUST compile with all neverallow present, for both AOSP SELinux
-domains as well as device/vendor specific domains
-  <li> MUST support dynamic updates of the SELinux policy file without requiring a
-system image update
+domains as well as device/vendor specific domains.</li>
+  <li>MUST support dynamic updates of the SELinux policy file without requiring a
+system image update.</li>
 </ul>
 
 <p>Device implementations SHOULD retain the default SELinux policy provided in the
@@ -5248,7 +4103,7 @@
 additions to the SELinux policy. Device implementations MUST be compatible with
 the upstream Android Open Source Project.</p>
 
-<h2 id=9_8_privacy>9.8. Privacy</h2>
+<h2 id="9_8_privacy">9.8. Privacy</h2>
 
 
 <p>If the device implements functionality in the system that captures the contents
@@ -5256,22 +4111,17 @@
 it MUST continuously notify the user whenever this functionality is enabled and
 actively capturing/recording.</p>
 
-<h2 id=9_9_full-disk_encryption>9.9. Full-Disk Encryption</h2>
+<h2 id="9_9_full-disk_encryption">9.9. Full-Disk Encryption</h2>
 
-<table>
- <tr>
-    <td class="tab2"></td>
-    <td>
+<div class="note">
 <p>Optional for Android device implementations without a lock screen.</p>
-</td>
- </tr>
-</table>
+</div>
 
 
 <p>If the device implementation has a lock screen, the device MUST support
 full-disk encryption of the application private data, (/data partition) as well
 as the SD card partition if it is a permanent, non-removable part of the device
-[<a href="http://source.android.com/devices/tech/encryption/index.html">Resources, 107</a>]. For devices supporting full-disk encryption, the full-disk encryption SHOULD
+[<a href="http://source.android.com/devices/tech/security/encryption/index.html">Resources, 107</a>]. For devices supporting full-disk encryption, the full-disk encryption SHOULD
 be enabled all the time after the user has completed the out-of-box experience.
 While this requirement is stated as SHOULD for this version of the Android
 platform, it is <strong>very strongly RECOMMENDED</strong> as we expect this to change to MUST in the future versions of Android.
@@ -5289,7 +4139,7 @@
 provides a preferred implementation of this feature based on the linux kernel
 feature dm-crypt.</p>
 
-<h2 id=9_10_verified_boot>9.10. Verified Boot</h2>
+<h2 id="9_10_verified_boot">9.10. Verified Boot</h2>
 
 
 <p>Device implementations SHOULD support verified boot for device integrity, and
@@ -5299,7 +4149,7 @@
 upstream Android Open Source Project provides a preferred implementation of
 this feature based on the linux kernel feature dm-verity.</p>
 
-<h1 id=10_software_compatibility_testing>10. Software Compatibility Testing</h1>
+<h1 id="10_software_compatibility_testing">10. Software Compatibility Testing</h1>
 
 
 <p>Device implementations MUST pass all tests described in this section.</p>
@@ -5310,7 +4160,7 @@
 Project. This will minimize the risk of introducing bugs that create
 incompatibilities requiring rework and potential device updates.</p>
 
-<h2 id=10_1_compatibility_test_suite>10.1. Compatibility Test Suite</h2>
+<h2 id="10_1_compatibility_test_suite">10.1. Compatibility Test Suite</h2>
 
 
 <p>Device implementations MUST pass the Android Compatibility Test Suite (CTS) [<a href="http://source.android.com/compatibility/index.html">Resources, 108</a>] available from the Android Open Source Project, using the final shipping
@@ -5325,7 +4175,7 @@
 Android 5.1. Device implementations MUST pass the latest CTS version available
 at the time the device software is completed.</p>
 
-<h2 id=10_2_cts_verifier>10.2. CTS Verifier</h2>
+<h2 id="10_2_cts_verifier">10.2. CTS Verifier</h2>
 
 
 <p>Device implementations MUST correctly execute all applicable cases in the CTS
@@ -5348,11 +4198,11 @@
 implementation that has passed the CTS Verifier only by the set of included
 locales, branding, etc. MAY omit the CTS Verifier test.</p>
 
-<h1 id=11_updatable_software>11. Updatable Software</h1>
+<h1 id="11_updatable_software">11. Updatable Software</h1>
 
 
 <p>Device implementations MUST include a mechanism to replace the entirety of the
-system software. The mechanism need not perform "live" upgrades—that is, a
+system software. The mechanism need not perform &ldquo;live&rdquo; upgrades&mdash;that is, a
 device restart MAY be required.</p>
 
 <p>Any method can be used, provided that it can replace the entirety of the
@@ -5360,9 +4210,9 @@
 approaches will satisfy this requirement:</p>
 
 <ul>
-  <li> Over-the-air (OTA) downloads with offline update via reboot
-  <li> "Tethered" updates over USB from a host PC
-  <li> "Offline" updates via a reboot and update from a file on removable storage
+  <li>Over-the-air (OTA) downloads with offline update via reboot</li>
+  <li>&ldquo;Tethered&rdquo; updates over USB from a host PC</li>
+  <li>&ldquo;Offline&rdquo; updates via a reboot and update from a file on removable storage</li>
 </ul>
 
 <p>However, if the device implementation includes support for an unmetered data
@@ -5386,619 +4236,339 @@
 applications, the device implementer MUST correct the error via a software
 update available that can be applied per the mechanism just described.</p>
 
-<h1 id=12_document_changelog>12. Document Changelog</h1>
+<h1 id="12_document_changelog">12. Document Changelog</h1>
 
 
 <p>The following table contains a summary of the changes to the Compatibility
 Definition in this release. </p>
 <table>
  <tr>
-    <td class="tab0">
-<p><strong>Section(s)</strong></p>
-</td>
-    <td class="tab0">
-<p><strong>Summary of change</strong></p>
-</td>
+    <th>Section</th>
+    <th>Summary of change</th>
  </tr>
  <tr>
-    <td>
-<p>1. Introduction</p>
-</td>
-    <td>
-<p>Updated requirements to refer to SDK documentation as source of truth.</p>
-</td>
+    <td>1. Introduction</td>
+    <td>Updated requirements to refer to SDK documentation as source of truth.</td>
  </tr>
  <tr>
-    <td>
-<p>2. Device Types</p>
-</td>
-    <td>
-<p>Included definitions for device types for handheld, television, and watch
-devices.</p>
-</td>
+    <td>2. Device Types</td>
+    <td>Included definitions for device types for handheld, television, and watch
+devices.</td>
  </tr>
  <tr>
-    <td>
-<p>2.1 Device Configuration</p>
-</td>
-    <td>
-<p>Added non-exhaustive list to illustrate hardware configuration deviation across
-devices.</p>
-</td>
+    <td>2.1 Device Configuration</td>
+    <td>Added non-exhaustive list to illustrate hardware configuration deviation across
+devices.</td>
  </tr>
  <tr>
-    <td>
-<p>3.1. Managed API Compatibility</p>
-</td>
-    <td>
-<p>MUST also provide complete implementations of APIs with "@SystemApi" marker in
-the upstream Android source code.</p>
-</td>
+    <td>3.1. Managed API Compatibility</td>
+    <td>MUST also provide complete implementations of APIs with &ldquo;@SystemApi&rdquo; marker in
+the upstream Android source code.</td>
  </tr>
  <tr>
-    <td>
-<p>3.2.2. Build Parameters</p>
-</td>
-    <td>
-<p>Included SUPPORTED_ABIS, SUPPORTED_32_BIT_ABIS, and SUPPORTED_64_BIT_ABIS
+    <td>3.2.2. Build Parameters</td>
+    <td>Included SUPPORTED_ABIS, SUPPORTED_32_BIT_ABIS, and SUPPORTED_64_BIT_ABIS
 parameters in list, updated PRODUCT to require unique Product SKUs, and updated
-TAGS.</p>
-</td>
+TAGS.</td>
  </tr>
  <tr>
-    <td>
-<p>3.2.3.1. Core Application Intents</p>
-</td>
-    <td>
-<p>Clarified language that the compatibility requirement is for mainly the intents
-pattern </p>
-</td>
+    <td>3.2.3.1. Core Application Intents</td>
+    <td>Clarified language that the compatibility requirement is for mainly the intents
+pattern </td>
  </tr>
  <tr>
-    <td>
-<p>3.2.3.5. Default App Settings</p>
-</td>
-    <td>
-<p>Included new requirements for home screen, NFC, and default SMS applications.</p>
-</td>
+    <td>3.2.3.5. Default App Settings</td>
+    <td>Included new requirements for home screen, NFC, and default SMS applications.</td>
  </tr>
  <tr>
-    <td>
-<p>3.3.1 Application Binary Interfaces</p>
-</td>
-    <td>
-<p>Added requirements to support equivalent 32-bit ABI if any 64-bit ABI is
-supported. Updated parameters to reflect this change.</p>
-</td>
+    <td>3.3.1 Application Binary Interfaces</td>
+    <td>Added requirements to support equivalent 32-bit ABI if any 64-bit ABI is
+supported. Updated parameters to reflect this change.</td>
  </tr>
  <tr>
-    <td>
-<p>3.4.1. WebView Compatibility</p>
-</td>
-    <td>
-<p>Webview compatibility required for all devices except Android Watch devices.
-Removed Locale string requirement.</p>
-</td>
+    <td>3.4.1. WebView Compatibility</td>
+    <td>Webview compatibility required for all devices except Android Watch devices.
+Removed Locale string requirement.</td>
  </tr>
  <tr>
-    <td>
-<p>3.4.2. Browser compatibility</p>
-</td>
-    <td>
-<p>Android Television and Watch Devices MAY omit a browser application, but all
-other types of device implementations MUST include one.</p>
-</td>
+    <td>3.4.2. Browser compatibility</td>
+    <td>Android Television and Watch Devices MAY omit a browser application, but all
+other types of device implementations MUST include one.</td>
  </tr>
  <tr>
-    <td>
-<p>3.7. Runtime compatibility</p>
-</td>
-    <td>
-<p>Updated Minimum application memory requirements</p>
-</td>
+    <td>3.7. Runtime compatibility</td>
+    <td>Updated Minimum application memory requirements</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.2. Widgets</p>
-</td>
-    <td>
-<p>Widget support is optional for all device types, but recommended for Handheld
-Devices.</p>
-</td>
+    <td>3.8.2. Widgets</td>
+    <td>Widget support is optional for all device types, but recommended for Handheld
+Devices.</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.3. Notifications</p>
-</td>
-    <td>
-<p>Expanded definitions for types of supported notifications. </p>
-</td>
+    <td>3.8.3. Notifications</td>
+    <td>Expanded definitions for types of supported notifications. </td>
  </tr>
  <tr>
-    <td>
-<p>3.8.4. Search</p>
-</td>
-    <td>
-<p>Android Television devices MUST include global search. All other device types
-SHOULD.</p>
-</td>
+    <td>3.8.4. Search</td>
+    <td>Android Television devices MUST include global search. All other device types
+SHOULD.</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.6. Themes</p>
-</td>
-    <td>
-<p>Devices MUST support material theme.</p>
-</td>
+    <td>3.8.6. Themes</td>
+    <td>Devices MUST support material theme.</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.7. Live Wallpapers</p>
-</td>
-    <td>
-<p>Devices that include live wallpaper MUST report the platform feature flag
-android.software.live_wallpaper.</p>
-</td>
+    <td>3.8.7. Live Wallpapers</td>
+    <td>Devices that include live wallpaper MUST report the platform feature flag
+android.software.live_wallpaper.</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.8. Activity Switching</p>
-</td>
-    <td>
-<p>Advised requirement to support new Recents User Interface</p>
-</td>
+    <td>3.8.8. Activity Switching</td>
+    <td>Advised requirement to support new Recents User Interface</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.10. Lock Screen Media Remote Control</p>
-</td>
-    <td>
-<p> Remote Control Client API deprecated in favor of the Media Notification
-Template</p>
-</td>
+    <td>3.8.10. Lock Screen Media Remote Control</td>
+    <td> Remote Control Client API deprecated in favor of the Media Notification
+Template</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.11. Dreams</p>
-</td>
-    <td>
-<p>Optional for Android Watch devices. Required for all other device types.</p>
-</td>
+    <td>3.8.11. Dreams</td>
+    <td>Optional for Android Watch devices. Required for all other device types.</td>
  </tr>
  <tr>
-    <td>
-<p>3.8.13 Unicode and font</p>
-</td>
-    <td>
-<p>MUST support Roboto 2 in addition to existing requirements.</p>
-</td>
+    <td>3.8.13 Unicode and font</td>
+    <td>MUST support Roboto 2 in addition to existing requirements.</td>
  </tr>
  <tr>
-    <td>
-<p>3.12. TV Input Framework</p>
-</td>
-    <td>
-<p>Android Television device implementations MUST support Television Input
-Framework.</p>
-</td>
+    <td>3.12. TV Input Framework</td>
+    <td>Android Television device implementations MUST support Television Input
+Framework.</td>
  </tr>
  <tr>
-    <td>
-<p>5.1. Media Codecs</p>
-</td>
-    <td>
-<p>Added 3 sections for Audio, Image, and Video codecs.</p>
-</td>
+    <td>5.1. Media Codecs</td>
+    <td>Added 3 sections for Audio, Image, and Video codecs.</td>
  </tr>
  <tr>
-    <td>
-<p>5.4 Audio Recording</p>
-</td>
-    <td>
-<p>Broken into subsections</p>
-</td>
+    <td>5.4 Audio Recording</td>
+    <td>Broken into subsections</td>
  </tr>
  <tr>
-    <td>
-<p>5.4.1. Raw audio capture</p>
-</td>
-    <td>
-<p>Defined characteristics for raw audio capture on devices that declare
-android.hardware.microphone</p>
-</td>
+    <td>5.4.1. Raw audio capture</td>
+    <td>Defined characteristics for raw audio capture on devices that declare
+android.hardware.microphone</td>
  </tr>
  <tr>
-    <td>
-<p>5.5. Audio Playback</p>
-</td>
-    <td>
-<p>Added section 5.5. Audio Playback with 2 subsections: 5.5.1 Audio Effects and
-5.5.2. Audio Output Volume</p>
-</td>
+    <td>5.5. Audio Playback</td>
+    <td>Added section 5.5. Audio Playback with 2 subsections: 5.5.1 Audio Effects and
+5.5.2. Audio Output Volume</td>
  </tr>
  <tr>
-    <td>
-<p>5.6 Audio Latency</p>
-</td>
-    <td>
-<p>Added definitions and requirements for cold output jitter, cold input jitter,
-and continuous round-trip latency.</p>
-</td>
+    <td>5.6 Audio Latency</td>
+    <td>Added definitions and requirements for cold output jitter, cold input jitter,
+and continuous round-trip latency.</td>
  </tr>
  <tr>
-    <td>
-<p>5.8 Secure Media</p>
-</td>
-    <td>
-<p>Included secure media requirements from 7.1.8. External Displays and added
-requirements for Android Television.</p>
-</td>
+    <td>5.8 Secure Media</td>
+    <td>Included secure media requirements from 7.1.8. External Displays and added
+requirements for Android Television.</td>
  </tr>
  <tr>
-    <td>
-<p>6.1. Developer Tools</p>
-</td>
-    <td>
-<p>Updated resources.</p>
-</td>
+    <td>6.1. Developer Tools</td>
+    <td>Updated resources.</td>
  </tr>
  <tr>
-    <td>
-<p>6.2.1. Experimental</p>
-</td>
-    <td>
-<p>Removed section</p>
-</td>
+    <td>6.2.1. Experimental</td>
+    <td>Removed section</td>
  </tr>
  <tr>
-    <td>
-<p>7. Hardware Compatibility</p>
-</td>
-    <td>
-<p>Updated to reflect that device implementations MUST consistently report
-accurate hardware configuration for the same build fingerprint.</p>
-</td>
+    <td>7. Hardware Compatibility</td>
+    <td>Updated to reflect that device implementations MUST consistently report
+accurate hardware configuration for the same build fingerprint.</td>
  </tr>
  <tr>
-    <td>
-<p>7.1.1.1. Screen Size</p>
-</td>
-    <td>
-<p>Updated to reflect Android Watch devices screen size and that the value can’t
-change</p>
-</td>
+    <td>7.1.1.1. Screen Size</td>
+    <td>Updated to reflect Android Watch devices screen size and that the value can&rsquo;t
+change</td>
  </tr>
  <tr>
-    <td>
-<p>7.1.1.2. Screen Aspect Ratio</p>
-</td>
-    <td>
-<p>Updated to reflect Android Watch devices screen aspect ratio (1:1).</p>
-</td>
+    <td>7.1.1.2. Screen Aspect Ratio</td>
+    <td>Updated to reflect Android Watch devices screen aspect ratio (1:1).</td>
  </tr>
  <tr>
-    <td>
-<p>7.1.3. Screen Orientation</p>
-</td>
-    <td>
-<p>Updated to reflect that devices with a fixed orientation landscape screen
-SHOULD only report that orientation. </p>
-</td>
+    <td>7.1.3. Screen Orientation</td>
+    <td>Updated to reflect that devices with a fixed orientation landscape screen
+SHOULD only report that orientation. </td>
  </tr>
  <tr>
-    <td>
-<p>7.1.4. 2D and 3D Graphics Acceleration</p>
-</td>
-    <td>
-<p>Added that Android devices MAY support the Android extension pack. </p>
-</td>
+    <td>7.1.4. 2D and 3D Graphics Acceleration</td>
+    <td>Added that Android devices MAY support the Android extension pack. </td>
  </tr>
  <tr>
-    <td>
-<p>(old) 7.1.6. Screen Types</p>
-</td>
-    <td>
-<p>Section Removed </p>
-</td>
+    <td>(old) 7.1.6. Screen Types</td>
+    <td>Section Removed </td>
  </tr>
  <tr>
-    <td>
-<p>7.1.6. Screen Technology</p>
-</td>
-    <td>
-<p>Updated pixel aspect ratio (PAR) to be between 0.9 and 1.15. (~15% tolerance)</p>
-</td>
+    <td>7.1.6. Screen Technology</td>
+    <td>Updated pixel aspect ratio (PAR) to be between 0.9 and 1.15. (~15% tolerance)</td>
  </tr>
  <tr>
-    <td>
-<p>7.1.7. External Displays</p>
-</td>
-    <td>
-<p>Moved part of section to section 5.8. Secure Media.</p>
-</td>
+    <td>7.1.7. External Displays</td>
+    <td>Moved part of section to section 5.8. Secure Media.</td>
  </tr>
   <tr>
-    <td>
-<p>7.2 Input Devices</p>
-</td>
-    <td>
-<p>Added general intro statement.</p>
-</td>
+    <td>7.2 Input Devices</td>
+    <td>Added general intro statement.</td>
  </tr>
  <tr>
-    <td>
-<p>7.2.2. Non-touch Navigation</p>
-</td>
-    <td>
-<p>Android Television devices MUST support D-pad. </p>
-</td>
+    <td>7.2.2. Non-touch Navigation</td>
+    <td>Android Television devices MUST support D-pad. </td>
  </tr>
  <tr>
-    <td>
-<p>7.2.3. Navigation keys</p>
-</td>
-    <td>
-<p>Included language for support across different device types. </p>
-</td>
+    <td>7.2.3. Navigation keys</td>
+    <td>Included language for support across different device types. </td>
  </tr>
  <tr>
-    <td>
-<p>7.2.4. Touchscreen input</p>
-</td>
-    <td>
-<p>Android Watch devices MUST support touchscreen input. </p>
-</td>
+    <td>7.2.4. Touchscreen input</td>
+    <td>Android Watch devices MUST support touchscreen input. </td>
  </tr>
  <tr>
-    <td>
-<p>7.2.6. Game Controller Support</p>
-</td>
-    <td>
-<p>Added section with Android Television requirements.</p>
-</td>
+    <td>7.2.6. Game Controller Support</td>
+    <td>Added section with Android Television requirements.</td>
  </tr>
  <tr>
-    <td>
-<p>7.2.7. Remote Control </p>
-</td>
-    <td>
-<p>Added section with Android Television requirements.</p>
-</td>
+    <td>7.2.7. Remote Control </td>
+    <td>Added section with Android Television requirements.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3. Sensors</p>
-</td>
-    <td>
-<p>Redefined synthetic sensors as composite sensors and streaming sensors as
-continuous sensors. Sensors should report event time in nanoseconds.</p>
-</td>
+    <td>7.3. Sensors</td>
+    <td>Redefined synthetic sensors as composite sensors and streaming sensors as
+continuous sensors. Sensors should report event time in nanoseconds.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3.1. Accelerometer</p>
-</td>
-    <td>
-<p>Clarified required sensor types and revised requirement thresholds. </p>
-</td>
+    <td>7.3.1. Accelerometer</td>
+    <td>Clarified required sensor types and revised requirement thresholds. </td>
  </tr>
  <tr>
-    <td>
-<p>7.3.2. Magnetometer</p>
-</td>
-    <td>
-<p>Clarified required sensor types and revised requirement thresholds.</p>
-</td>
+    <td>7.3.2. Magnetometer</td>
+    <td>Clarified required sensor types and revised requirement thresholds.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3.4. Gyroscope</p>
-</td>
-    <td>
-<p>Clarified required sensor types and revised requirement thresholds.</p>
-</td>
+    <td>7.3.4. Gyroscope</td>
+    <td>Clarified required sensor types and revised requirement thresholds.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3.5. Barometer</p>
-</td>
-    <td>
-<p>Changed from MAY to SHOULD implement barometer. MUST implement and report
-TYPE_PRESSURE sensor.</p>
-</td>
+    <td>7.3.5. Barometer</td>
+    <td>Changed from MAY to SHOULD implement barometer. MUST implement and report
+TYPE_PRESSURE sensor.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3.6. Thermometer</p>
-</td>
-    <td>
-<p>Devices MAY include ambient thermometer. MAY but SHOULD NOT include CPU
-thermometer.</p>
-</td>
+    <td>7.3.6. Thermometer</td>
+    <td>Devices MAY include ambient thermometer. MAY but SHOULD NOT include CPU
+thermometer.</td>
  </tr>
  <tr>
-    <td>
-<p>7.3.8. Proximity Sensor</p>
-</td>
-    <td>
-<p>Devices that can make a voice call and indicate any value other than
-PHONE_TYPE_NONE in getPhoneType SHOULD include a proximity sensor.</p>
-</td>
+    <td>7.3.8. Proximity Sensor</td>
+    <td>Devices that can make a voice call and indicate any value other than
+PHONE_TYPE_NONE in getPhoneType SHOULD include a proximity sensor.</td>
  </tr>
  <tr>
-    <td>
-<p>7.4.2. IEEE 802.11 (Wi-Fi)</p>
-</td>
-    <td>
-<p>Android Television devices MUST include Wi-Fi support. Devices that DO support
-wifi must report android.hardware.wifi. </p>
-</td>
+    <td>7.4.2. IEEE 802.11 (Wi-Fi)</td>
+    <td>Android Television devices MUST include Wi-Fi support. Devices that DO support
+wifi must report android.hardware.wifi. </td>
  </tr>
  <tr>
-    <td>
-<p>7.4.2.1. Wi-Fi Direct</p>
-</td>
-    <td>
-<p>MUST report the hardware feature android.hardware.wifi.direct.</p>
-</td>
+    <td>7.4.2.1. Wi-Fi Direct</td>
+    <td>MUST report the hardware feature android.hardware.wifi.direct.</td>
  </tr>
  <tr>
-    <td>
-<p>7.4.2.2. Wi-Fi Tunneled Direct Link Setup</p>
-</td>
-    <td>
-<p>Android Television devices MUST include support for Wi-Fi TDLS.</p>
-</td>
+    <td>7.4.2.2. Wi-Fi Tunneled Direct Link Setup</td>
+    <td>Android Television devices MUST include support for Wi-Fi TDLS.</td>
  </tr>
  <tr>
-    <td>
-<p>7.4.3 Bluetooth</p>
-</td>
-    <td>
-<p>Added Android Automotive requirements.</p>
-</td>
+    <td>7.4.3 Bluetooth</td>
+    <td>Added Android Automotive requirements.</td>
  </tr>
  <tr>
-    <td>
-<p>7.5. Cameras</p>
-</td>
-    <td>
-<p>If a device implementation includes at least one camera, it SHOULD be possible
+    <td>7.5. Cameras</td>
+    <td>If a device implementation includes at least one camera, it SHOULD be possible
 for an application to simultaneously allocate 3 bitmaps equal to the size of
-the images produced by the largest-resolution camera sensor on the device.</p>
-</td>
+the images produced by the largest-resolution camera sensor on the device.</td>
  </tr>
  <tr>
-    <td>
-<p>7.5.3. External Cameras</p>
-</td>
-    <td>
-<p>Added requirements that device implementations with USB host mode MAY include
-support for an external camera.</p>
-</td>
+    <td>7.5.3. External Cameras</td>
+    <td>Added requirements that device implementations with USB host mode MAY include
+support for an external camera.</td>
  </tr>
  <tr>
-    <td>
-<p>7.5.5. Camera System Features</p>
-</td>
-    <td>
-<p>Added list of camera features and when they should be defined. </p>
-</td>
+    <td>7.5.5. Camera System Features</td>
+    <td>Added list of camera features and when they should be defined. </td>
  </tr>
  <tr>
-    <td>
-<p>7.6.1. Minimum Memory and Storage</p>
-</td>
-    <td>
-<p>Updated requirements for 32- and 64-bit devices. SVELTE memory requirement
-removed. Devices MUST have at least 1.5GB of non-volatile storage</p>
-</td>
+    <td>7.6.1. Minimum Memory and Storage</td>
+    <td>Updated requirements for 32- and 64-bit devices. SVELTE memory requirement
+removed. Devices MUST have at least 1.5GB of non-volatile storage</td>
  </tr>
  <tr>
-    <td>
-<p>7.6.2. Application Shared Storage</p>
-</td>
-    <td>
-<p>Updated requirements for user-accessible removable storage</p>
-</td>
+    <td>7.6.2. Application Shared Storage</td>
+    <td>Updated requirements for user-accessible removable storage</td>
  </tr>
  <tr>
-    <td>
-<p>7.7. USB</p>
-</td>
-    <td>
-<p>Removed requirements for non-charging ports being on the same edge as the
-micro-USB port. Updated requirements for Host and Peripheral mode. </p>
-</td>
+    <td>7.7. USB</td>
+    <td>Removed requirements for non-charging ports being on the same edge as the
+micro-USB port. Updated requirements for Host and Peripheral mode. </td>
  </tr>
  <tr>
-    <td>
-<p>7.8.1. Audio</p>
-</td>
-    <td>
-<p>Moved microphone section here. Added requirements for Audio Output and Audio
-Analog ports. </p>
-</td>
+    <td>7.8.1. Audio</td>
+    <td>Moved microphone section here. Added requirements for Audio Output and Audio
+Analog ports. </td>
  </tr>
  <tr>
-    <td>
-<p>8. Performance Compatibility</p>
-</td>
-    <td>
-<p>Added requirements for user interface consistency.</p>
-</td>
+    <td>8. Performance Compatibility</td>
+    <td>Added requirements for user interface consistency.</td>
  </tr>
  <tr>
-    <td>
-<p>9.5. Multi-User Support</p>
-</td>
-    <td>
-<p>Multi-user support feature is optional for all device types. Detailed
-requirements by device type in section.</p>
-</td>
+    <td>9.5. Multi-User Support</td>
+    <td>Multi-user support feature is optional for all device types. Detailed
+requirements by device type in section.</td>
  </tr>
  <tr>
-    <td>
-<p>9.7. Kernel Security Features</p>
-</td>
-    <td>
-<p>MAY have a visible user interface when an unblocked security violation occurs
-resulting in a successful exploit. No permissive mode domains allowed.</p>
-</td>
+    <td>9.7. Kernel Security Features</td>
+    <td>MAY have a visible user interface when an unblocked security violation occurs
+resulting in a successful exploit. No permissive mode domains allowed.</td>
  </tr>
  <tr>
-    <td>
-<p>9.9. Full-Disk Encryption</p>
-</td>
-    <td>
-<p>Devices with a lock screen MUST support full-disk encryption. For new devices,
-full-disk encryption must be enabled out of box. </p>
-</td>
+    <td>9.9. Full-Disk Encryption</td>
+    <td>Devices with a lock screen MUST support full-disk encryption. For new devices,
+full-disk encryption must be enabled out of box. </td>
  </tr>
  <tr>
-    <td>
-<p>9.10 Verified boot</p>
-</td>
-    <td>
-<p>Added section to recommend that Device implementations support verified boot
-for device integrity.</p>
-</td>
+    <td>9.10 Verified boot</td>
+    <td>Added section to recommend that Device implementations support verified boot
+for device integrity.</td>
  </tr>
  <tr>
-    <td>
-<p>10.3. Reference Applications</p>
-</td>
-    <td>
-<p>Removed section from CDD.</p>
-</td>
+    <td>10.3. Reference Applications</td>
+    <td>Removed section from CDD.</td>
  </tr>
  <tr>
-    <td>
-<p>11. Updatable Software</p>
-</td>
-    <td>
-<p>If a device supports 802.11 or Bluetooth PAN (Personal Area Network) profile,
-then it MUST support Over-the-air download with offline update via reboot.</p>
-</td>
+    <td>11. Updatable Software</td>
+    <td>If a device supports 802.11 or Bluetooth PAN (Personal Area Network) profile,
+then it MUST support Over-the-air download with offline update via reboot.</td>
  </tr>
  <tr>
-    <td>
-<p>14. Resources</p>
-</td>
-    <td>
-<p>Resources moved from section 2 to section 14</p>
-</td>
+    <td>14. Resources</td>
+    <td>Resources moved from section 2 to section 14</td>
  </tr>
 </table>
 
 
-<h1 id=13_contact_us>13. Contact Us</h1>
+<h1 id="13_contact_us">13. Contact Us</h1>
 
 
 <p>You can join the android-compatibility forum <a href="https://groups.google.com/forum/#!forum/android-compatibility">[Resources, 109</a>] and ask for clarifications or bring up any issues that you think the document
 does not cover.</p>
 
-<h1 id=14_resources>14. Resources</h1>
+<h1 id="14_resources">14. Resources</h1>
 
 
 <p>1. IETF RFC2119 Requirement Levels: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a></p>
@@ -6027,7 +4597,7 @@
 
 <p>13. WebView compatibility: <a href="http://www.chromium.org/">http://www.chromium.org/</a></p>
 
-<p>14. HTML5: <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">http://www.whatwg.org/specs/web-apps/current-work/multipage/</a></p>
+<p>14. HTML5: <a href="http://html.spec.whatwg.org/multipage/">http://html.spec.whatwg.org/multipage/</a></p>
 
 <p>15. HTML5 offline capabilities:<a href="http://dev.w3.org/html5/spec/Overview.html#offline"> http://dev.w3.org/html5/spec/Overview.html#offline</a></p>
 
@@ -6092,13 +4662,13 @@
 
 <p>43. Android Accessibility APIs: <a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html">http://developer.android.com/reference/android/view/accessibility/package-summary.html</a></p>
 
-<p>44. Eyes Free project: <a href="http://code.google.com/p/eyes-free">http://code.google.com/p/eyes-free</a></p>
+<p>44. Eyes Free project: <a href="http://code.google.com/p/eyes-free/">http://code.google.com/p/eyes-free</a></p>
 
 <p>45. Text-To-Speech APIs: <a href="http://developer.android.com/reference/android/speech/tts/package-summary.html">http://developer.android.com/reference/android/speech/tts/package-summary.html</a></p>
 
 <p>46. Television Input Framework: <a href="https://source.android.com/devices/tv/index.html">https://source.android.com/devices/tv/index.html</a></p>
 
-<p>47. Reference tool documentation (for adb, aapt, ddms, systrace): <a href="http://developer.android.com/guide/developing/tools/index.html">http://developer.android.com/guide/developing/tools/index.html</a></p>
+<p>47. Reference tool documentation (for adb, aapt, ddms, systrace): <a href="http://developer.android.com/tools/help/index.html">http://developer.android.com/tools/help/index.html</a></p>
 
 <p>48. Android apk file description: <a href="http://developer.android.com/guide/components/fundamentals.html">http://developer.android.com/guide/components/fundamentals.html </a></p>
 
@@ -6118,7 +4688,7 @@
 
 <p>55. ADB: <a href="http://developer.android.com/tools/help/adb.html">http://developer.android.com/tools/help/adb.html</a> </p>
 
-<p>56. Dumpsys: <a href="https://source.android.com/devices/tech/input/dumpsys.html">https://source.android.com/devices/tech/input/dumpsys.html</a> </p>
+<p>56. Dumpsys: <a href="https://source.android.com/devices/input/diagnostics.html">https://source.android.com/devices/input/diagnostics.html</a> </p>
 
 <p>57. DDMS: <a href="http://developer.android.com/tools/debugging/ddms.html">http://developer.android.com/tools/debugging/ddms.html</a> </p>
 
@@ -6156,15 +4726,15 @@
 
 <p>72. Key Event API: <a href="http://developer.android.com/reference/android/view/KeyEvent.html">http://developer.android.com/reference/android/view/KeyEvent.html</a> </p>
 
-<p>73. Android Open Source sensors: <a href="http://source.android.com/devices/sensors/">http://source.android.com/devices/sensors/</a></p>
+<p>73. Android Open Source sensors: <a href="http://source.android.com/devices/sensors/">http://source.android.com/devices/sensors</a></p>
 
 <p>74. android.hardware.SensorEvent: <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">http://developer.android.com/reference/android/hardware/SensorEvent.html</a></p>
 
 <p>75. Timestamp sensor event: <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp">http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp</a></p>
 
-<p>76. Android Open Source composite sensors: <a href="http://source.android.com/devices/sensors/composite_sensors.html">http://source.android.com/devices/sensors/composite_sensors.html</a></p>
+<p>76. Android Open Source composite sensors: <a href="http://source.android.com/devices/sensors/sensor-types.html#composite_sensor_type_summary">https://source.android.com/devices/sensors/sensor-types.html#composite_sensor_type_summary</a></p>
 
-<p>77. Continuous trigger mode: <a href="http://source.android.com/devices/sensors/base_triggers.html#continuous">http://source.android.com/devices/sensors/base_triggers.html#continuous</a></p>
+<p>77. Continuous trigger mode: <a href="http://source.android.com/devices/sensors/report-modes.html#continuous">https://source.android.com/devices/sensors/report-modes.html#continuous</a></p>
 
 <p>78. Accelerometer sensor: <a href="http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER">http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER</a></p>
 
@@ -6186,7 +4756,7 @@
 
 <p><a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS">http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS</a></p>
 
-<p>87. NFC Connection Handover: <a href="http://www.nfc-forum.org/specs/spec_list/#conn_handover">http://www.nfc-forum.org/specs/spec_list/#conn_handover</a></p>
+<p>87. NFC Connection Handover: <a href="http://members.nfc-forum.org/specs/spec_list/#conn_handover">http://members.nfc-forum.org/specs/spec_list/#conn_handover</a></p>
 
 <p>88. Bluetooth Secure Simple Pairing Using NFC: <a href="http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf">http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf</a> </p>
 
@@ -6206,13 +4776,13 @@
 
 <p>96. Android File Transfer: <a href="http://www.android.com/filetransfer">http://www.android.com/filetransfer</a></p>
 
-<p>97. Android Open Accessories: <a href="http://developer.android.com/guide/topics/usb/accessory.html">http://developer.android.com/guide/topics/usb/accessory.html</a></p>
+<p>97. Android Open Accessories: <a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html">http://developer.android.com/guide/topics/connectivity/usb/accessory.html</a></p>
 
 <p>98. Android USB Audio: <a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO</a></p>
 
 <p>99. USB Charging Specification: <a href="http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf">http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf</a></p>
 
-<p>100. USB Host API:<a href="http://developer.android.com/guide/topics/usb/host.html"> http://developer.android.com/guide/topics/usb/host.html</a></p>
+<p>100. USB Host API:<a href="http://developer.android.com/guide/topics/connectivity/usb/host.html"> http://developer.android.com/guide/topics/connectivity/usb/host.html</a></p>
 
 <p>101. Wired audio headset: <a href="http://source.android.com/accessories/headset-spec.html">http://source.android.com/accessories/headset-spec.html</a> </p>
 
@@ -6220,13 +4790,13 @@
 
 <p>103. UserManager reference: <a href="http://developer.android.com/reference/android/os/UserManager.html">http://developer.android.com/reference/android/os/UserManager.html</a></p>
 
-<p>104. External Storage reference: <a href="http://source.android.com/devices/tech/storage">http://source.android.com/devices/tech/storage</a></p>
+<p>104. External Storage reference: <a href="http://source.android.com/devices/storage">http://source.android.com/devices/storage</a></p>
 
 <p>105. External Storage APIs: <a href="http://developer.android.com/reference/android/os/Environment.html">http://developer.android.com/reference/android/os/Environment.html</a></p>
 
 <p>106. SMS Short Code: <a href="http://en.wikipedia.org/wiki/Short_code">http://en.wikipedia.org/wiki/Short_code</a></p>
 
-<p>107. Android Open Source Encryption: <a href="http://source.android.com/devices/tech/encryption/index.html">http://source.android.com/devices/tech/encryption/index.html</a></p>
+<p>107. Android Open Source Encryption: <a href="http://source.android.com/devices/tech/security/encryption/index.html">http://source.android.com/devices/tech/security/encryption/index.html</a></p>
 
 <p>108. Android Compatibility Program Overview: <a href="http://source.android.com/compatibility/index.html">http://source.android.com/compatibility/index.html</a></p>
 
@@ -6237,16 +4807,13 @@
 <p>111. Android Auto feature: <a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR">http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR</a></p>
 
 <p>Many of these resources are derived directly or indirectly from the Android
-SDK, and will be functionally identical to the information in that SDK's
+SDK, and will be functionally identical to the information in that SDK&rsquo;s
 documentation. In any cases where this Compatibility Definition or the
 Compatibility Test Suite disagrees with the SDK documentation, the SDK
 documentation is considered authoritative. Any technical details provided in
 the references included above are considered by inclusion to be part of this
 Compatibility Definition.</p>
-<div style="page-break-before: always;"></div>
 
-<div id="footerContent" xmlns:pdf="https://source.android.com">
-<pdf:pagenumber/>
 </div>
 </body>
-</html>
+</html>
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-cdd-body.pdf b/src/compatibility/5.1/android-cdd-body.pdf
new file mode 100644
index 0000000..eaea105
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd-body.pdf
Binary files differ
diff --git a/src/compatibility/5.1/android-cdd-cover.css b/src/compatibility/5.1/android-cdd-cover.css
new file mode 100644
index 0000000..dcbcc2f
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd-cover.css
@@ -0,0 +1,86 @@
+/**
+* Link Styles
+*/
+
+
+a:link {
+    color: #09C;
+    text-decoration: none;
+}
+
+a:visited {
+    color: #639;
+}
+
+a:hover,
+a:focus,
+a:active {
+    color: #09C;
+}
+
+/**
+* Cover Styles
+*/
+
+
+table {
+    border: none;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+    height: 100%;
+    background-color: black;
+}
+
+td {
+    border: none;
+    color: white;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    background-color: black;
+}
+
+.title {
+    color: white;
+    font: 62px/72px Roboto, Arial, Helvetica, sans-serif;
+    padding: 40px 20px 50px 60px;
+    text-align: left;
+}
+
+.subtitle {
+    color: white;
+    font: 60px/70px Roboto, Arial, Helvetica, sans-serif;
+    padding: 50px 0px 40px 60px;
+    text-align: left;
+}
+
+.padding {
+    padding: 40px 20px 40px 60px;
+}
+
+.padding-bottom {
+    padding: 40px 20px 200px 60px;
+}
+
+.cover-text {
+    font: 20px/25px Roboto, Arial, Helvetica, sans-serif;
+    color: white;
+    padding: 5px 5px 5px 60px;
+    text-align: left;
+}
+
+
+/**
+* Body Styles
+*/
+
+body {
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin: 0px;
+    padding: 0px;
+}
+
+p {
+    margin: 0px;
+    padding: 0px;
+}
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-cdd-cover.pdf b/src/compatibility/5.1/android-cdd-cover.pdf
new file mode 100644
index 0000000..f1e2169
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd-cover.pdf
Binary files differ
diff --git a/src/compatibility/5.1/android-cdd-cover_5_1.html b/src/compatibility/5.1/android-cdd-cover_5_1.html
new file mode 100644
index 0000000..a59caf9
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd-cover_5_1.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<head>
+<title>Android 5.1 Compatibility Definition</title>
+<link rel="stylesheet" type="text/css" href="android-cdd-cover.css"/>
+</head>
+
+<body>
+
+<table>
+
+<tr>
+<td>
+<p><img src="../images/android-logo.png" alt="Android logo" class="padding"/></p>
+<p class="title">Compatibility Definition</p>
+</td>
+</tr>
+
+<tr>
+<td>
+<img src="../images/android-lollipop.jpg" alt="Lollipop logo" style="border-top: 5px solid orange; border-bottom: 5px solid orange"/>
+</td>
+</tr>
+
+<tr>
+<td>
+<p class="subtitle">Android 5.1</p>
+<p class="cover-text">Last updated: April 1, 2015</p>
+<p class="cover-text">Copyright &copy; 2015, Google Inc. All rights reserved.</p>
+<p class="cover-text"><a href="mailto:compatibility@android.com">compatibility@android.com</a></p>
+</td>
+</tr>
+
+<tr>
+<td>
+<p class="padding-bottom"></p>
+</td>
+</tr>
+
+</table>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-cdd-footer.html b/src/compatibility/5.1/android-cdd-footer.html
new file mode 100644
index 0000000..fce6481
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd-footer.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Android 5.1 Compatibility Definition Footer</title>
+<link rel="stylesheet" type="text/css" href="android-cdd.css"/>
+
+<script>
+  function subst() {
+    var vars={};
+    var x=window.location.search.substring(1).split('&');
+    for (var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
+    var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
+    for (var i in x) {
+      var y = document.getElementsByClassName(x[i]);
+      for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
+    }
+  }
+</script>
+
+</head>
+
+<body style="border:0; margin: 0;" onload="subst()">
+<div class="footer">
+
+<table class="noborder" style="border-top: 1px solid silver; width: 100%">
+    <tr>
+      <td class="noborder"><img src="../images/android-logo.png" alt="Android logo"/></td>
+      <td class="noborder" style="text-align:right">
+        Page <span class="page"></span> of <span class="topage"></span>
+      </td>
+    </tr>
+</table>
+
+</div>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-cdd.css b/src/compatibility/5.1/android-cdd.css
new file mode 100644
index 0000000..4f5eb0c
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd.css
@@ -0,0 +1,366 @@
+/**
+* Link Styles
+*/
+
+
+a:link {
+    color: #09C;
+    text-decoration: underline;
+}
+
+a:visited {
+    color: #639;
+}
+
+a:hover,
+a:focus,
+a:active {
+    color: #09C;
+}
+
+/**
+* Cover Styles
+*/
+
+
+#cover {
+    width: 10.5in;
+    height: 13.25in;
+    background-color: orange;
+}
+
+#cover-top {
+    background-color: black;
+    width: 100%;
+    height: 3in;
+    padding-top: 70px;
+    margin-bottom: 10px;
+}
+
+#cover-image {
+    background-color: black;
+    width: 100%;
+    height: 5in;
+    padding: 0px;
+    margin: 20px 0px 8px 0px;
+}
+
+#cover-bottom {
+    background-color: black;
+    width: 100%;
+    height: 3.7in;
+    padding: 40px 0px 40px 0px;
+    margin-top: 8px;
+}
+
+#cover a:link,
+#cover a:visited,
+#cover a:hover {
+ text-decoration: none;
+}
+
+#main {
+    width: 950px;
+    overflow: visible;
+    page-break-before: always;
+}
+
+#footer {
+    width: 8.5in;
+    height: .75in;
+    margin-top: .25in;
+    color: #333;
+    font: 10pt/14pt Roboto, Arial, Helvetica, sans-serif;
+}
+
+
+.title {
+    color: white;
+    font: 84px/90px Roboto, Arial, Helvetica, sans-serif;
+    padding: 40pt 20pt 15pt 50pt;
+    text-align: left;
+}
+
+.subtitle {
+    color: white;
+    font: 60px/70px Roboto, Arial, Helvetica, sans-serif;
+    padding: 40pt 5pt 40pt 60pt;
+    text-align: left;
+}
+
+.right {
+    text-align: right;
+}
+
+.white {
+    color: white;
+}
+
+.padding {
+    padding: 20pt 20pt 0pt 60pt;
+}
+
+.cover-text {
+    font: 20px/25px Roboto, Arial, Helvetica, sans-serif;
+    color: white;
+    padding: 5pt 5pt 5pt 60pt;
+    text-align: left;
+}
+
+.small {
+    font-size: 80%;
+    font-weight: 700;
+}
+
+/**
+* Heading Styles
+*/
+
+h1 {
+    color: #333;
+    font: 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 10pt 0pt 0pt 0pt;
+    text-align: left;
+}
+
+h2 {
+    color: #693;
+    font: 14pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 8pt 0pt 0pt 0pt;
+    text-align: left;
+    page-break-after: avoid;
+}
+
+h3 {
+    color: #333;
+    font: bold 13pt/15pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 4pt 0pt 0pt 0pt;
+    text-align: left;
+    page-break-after: avoid;
+}
+
+h4 {
+    color: #666;
+    font: bold 12pt/14pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 4pt 0pt 0pt 0pt;
+    text-align: left;
+    page-break-after: avoid;
+}
+
+
+h5 {
+    color: #333;
+    font: italic 12pt/14pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 0pt 0pt 0pt 0pt;
+    text-align: left;
+    page-break-after: avoid;
+}
+
+
+/**
+* Use h6 ONLY for table of contents
+*/
+
+h6 {
+    color: #333;
+    font: bold 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 10pt 0pt 0pt 0pt;
+    text-align: left;
+    page-break-before: always;
+}
+
+/**
+* Body Styles
+*/
+
+body {
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin: 0;
+    padding: 5pt 5pt 5pt 10pt;
+}
+
+p {
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin: 0;
+    padding: 5pt 0pt 1pt 0pt;
+}
+
+li {
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin: 0;
+    padding: 2pt 50pt 2pt 0pt;
+}
+
+sup {
+    font-weight: 800;
+    font-size: 10pt;
+}
+
+/**
+* Table Styles
+*/
+
+
+table {
+    border: 1px solid gray;
+    border-collapse: collapse;
+    margin: 10px 0px 10px 0px;
+    width: 100%;
+    overflow: visible;
+}
+
+td {
+    border: 1px solid gray;
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 5pt;
+    overflow: visible;
+}
+
+th {
+    background-color: #CCC;
+    border: 1px solid gray;
+    color: #333;
+    font: bold 12pt/14pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 5pt;
+    overflow: visible;
+}
+
+p.table_footnote {
+    color: #333;
+    font: 10pt/12pt Roboto, Arial, Helvetica, sans-serif;
+    margin: 0;
+    padding: 5pt 5pt 5pt 5pt;
+}
+
+li.table_list {
+    color: #333;
+    font: 12pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin-left: -10pt;
+    padding: 2pt 0pt 2pt 0pt;
+}
+
+
+table.noborder {
+    border: 0px;
+    margin: 10px 0px 10px 0px;
+    width: 100%;
+}
+
+td.noborder {
+    border: 0px;
+    color: #333;
+    font: 10pt/14pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 10px 0px 5px 0px;
+}
+
+
+
+/**
+* TOC Styles
+*/
+
+#toc a:link,
+#toc a:visited,
+#toc a:hover {
+ color: black;
+ text-decoration: none;
+}
+
+#toc p.toc_h1 a:link,
+#toc p.toc_h1 a:visited,
+#toc p.toc_h1 a:hover {
+ color: #99CC00;
+}
+
+#toc
+ {
+    width: 950px;
+}
+
+#toc_left,
+#toc_left_2 {
+    float: left;
+    padding-top:15px;
+    padding-bottom:15px;
+    width: 470px;
+}
+
+#toc_right,
+#toc_right_2 {
+    float: right;
+    padding-top:15px;
+    padding-bottom:15px;
+    width: 470px;
+}
+
+p.toc_h1 {
+    color: #99CC00;
+    font: 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
+    padding: 10px 0px 0px 0px;
+}
+
+p.toc_h2 {
+    color: black;
+    font: 14pt/16pt Roboto, Arial, Helvetica, sans-serif;
+    margin-left: 20px;
+}
+
+p.toc_h3 {
+    color: black;
+    font: 12pt/14pt Roboto, Arial, Helvetica, sans-serif;
+    margin-left: 45px;
+}
+
+p.toc_h4 {
+    color: black;
+    font: 10pt/12pt Roboto, Arial, Helvetica, sans-serif;
+    margin-left: 85px;
+}
+
+p.toc_h5 {
+    color: black;
+    font: 10pt/12pt Roboto, Arial, Helvetica, sans-serif;
+    margin-left: 105px;
+}
+
+/**
+* Note Styles
+*/
+
+
+div.note 
+    {
+        border-left: 20px solid #0099cc;
+        padding-left: 10px;
+        margin: 5px 40px 5px 5px;
+    }
+
+div.tip 
+    {
+        border-left: 4px solid #93c47d;
+        padding-left: 10px;
+        margin: 5px 40px 5px 5px;
+    }
+
+div.warning 
+    {
+        border-left: 4px solid red;
+        padding-left: 10px;
+        margin: 5px 40px 5px 5px;
+    }
+
+/**
+* Media Styles
+*/
+
+@media print {
+
+    @page {
+        margin: 1in;
+    }
+
+ }
\ No newline at end of file
diff --git a/src/compatibility/5.1/android-cdd_5_1.pdf b/src/compatibility/5.1/android-cdd_5_1.pdf
new file mode 100644
index 0000000..9789e2c
--- /dev/null
+++ b/src/compatibility/5.1/android-cdd_5_1.pdf
Binary files differ
diff --git a/src/compatibility/images/android-logo.png b/src/compatibility/images/android-logo.png
new file mode 100644
index 0000000..4ad113c
--- /dev/null
+++ b/src/compatibility/images/android-logo.png
Binary files differ
diff --git a/src/compatibility/images/android-lollipop.jpg b/src/compatibility/images/android-lollipop.jpg
new file mode 100644
index 0000000..7e2dcdc
--- /dev/null
+++ b/src/compatibility/images/android-lollipop.jpg
Binary files differ
