DO NOT MERGE

Merge pie-platform-release (PPRL.181105.017, history only) into master

Bug: 118454372
Change-Id: Ic8aff61c469f4210a3bdd346c28f0e518cf9a025
diff --git a/11_updatable-software/11_0_intro.md b/11_updatable-software/11_0_intro.md
index 3e7a3a0..1be0c9f 100644
--- a/11_updatable-software/11_0_intro.md
+++ b/11_updatable-software/11_0_intro.md
@@ -3,14 +3,13 @@
 *    [C-0-1] Device implementations MUST include a mechanism to replace the
 entirety of the system software. The mechanism need not perform “live”
 upgrades—that is, a device restart MAY be required.
-
 Any method can be used, provided that it can replace the entirety of the
 software preinstalled on the device. For instance, any of the following
 approaches will satisfy this requirement:
 
-*   “Over-the-air (OTA)” downloads with offline update via reboot.
-*   “Tethered” updates over USB from a host PC.
-*   “Offline” updates via a reboot and update from a file on removable storage.
+     *   “Over-the-air (OTA)” downloads with offline update via reboot.
+     *   “Tethered” updates over USB from a host PC.
+     *   “Offline” updates via a reboot and update from a file on removable storage.
 
 *    [C-0-2] The update mechanism used MUST support updates without wiping user
 data. That is, the update mechanism MUST preserve application private data and
diff --git a/1_introduction/1_0_intro.md b/1_introduction/1_0_intro.md
index d6780b3..1985ee4 100644
--- a/1_introduction/1_0_intro.md
+++ b/1_introduction/1_0_intro.md
@@ -9,7 +9,7 @@
 
 As used in this document, a “device implementer” or “implementer” is a person
 or organization developing a hardware/software solution running Android
-ANDROID_VERSION. A “device implementation” or “implementation is the
+ANDROID_VERSION. A “device implementation” or “implementation" is the
 hardware/software solution so developed.
 
 To be considered compatible with Android ANDROID_VERSION, device
diff --git a/1_introduction/1_1_structure.md b/1_introduction/1_1_structure.md
index b6dfc73..11fdaf8 100644
--- a/1_introduction/1_1_structure.md
+++ b/1_introduction/1_1_structure.md
@@ -21,7 +21,7 @@
 
 Each ID is defined as below:
 
-*    Device Type ID (see more on [2. Device Types](#2_device_types)
+*    Device Type ID (see more in [2. Device Types](#2_device_types))
      *    C: Core (Requirements that are applied to any Android device implementations)
      *    H: Android Handheld device
      *    T: Android Television device
diff --git a/2_device-types/2_2_handheld-reqs.md b/2_device-types/2_2_handheld-reqs.md
index 5f079ac..5ac722c 100644
--- a/2_device-types/2_2_handheld-reqs.md
+++ b/2_device-types/2_2_handheld-reqs.md
@@ -22,9 +22,9 @@
 
 Handheld device implementations:
 
-*   [[7.1](#7_1_display-and-graphics).1.1/H-0-1] MUST have a screen at least
+*   [[7.1](#7_1_display_and_graphics).1.1/H-0-1] MUST have a screen at least
 2.5 inches in physical diagonal size.
-*   [[7.1](#7_1_display-and-graphics).1.3/H-SR] Are STRONGLY RECOMMENDED to
+*   [[7.1](#7_1_display_and_graphics).1.3/H-SR] Are STRONGLY RECOMMENDED to
 provide users an affordance to change the display size.(Screen Density)
 
 If Handheld device implementations claim support for high dynamic range
@@ -39,23 +39,23 @@
 
 Handheld device implementations:
 
-*   [[7.1](#7_1_display-and-graphics).5/H-0-1] MUST include support for legacy
+*   [[7.1](#7_1_display_and_graphics).5/H-0-1] MUST include support for legacy
 application compatibility mode as implemented by the upstream Android open
 source code. That is, device implementations MUST NOT alter the triggers or
 thresholds at which compatibility mode is activated, and MUST NOT alter the
 behavior of the compatibility mode itself.
-*   [[7.2](#7_2_input-devices).1/H-0-1] MUST include support for third-party
+*   [[7.2](#7_2_input_devices).1/H-0-1] MUST include support for third-party
 Input Method Editor (IME) applications.
-*   [[7.2](#7_2_input-devices).3/H-0-1] MUST provide the Home, Recents, and Back
+*   [[7.2](#7_2_input_devices).3/H-0-1] MUST provide the Home, Recents, and Back
 functions.
-*   [[7.2](#7_2_input-devices).3/H-0-2] MUST send both the normal and long press
+*   [[7.2](#7_2_input_devices).3/H-0-2] MUST send both the normal and long press
 event of the Back function ([`KEYCODE_BACK`](
 http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK))
 to the foreground application. These events MUST NOT be consumed by the system
 and CAN be triggerred by outside of the Android device (e.g. external hardware
 keyboard connected to the Android device).
-*   [[7.2](#7_2_input-devices).4/H-0-1] MUST support touchscreen input.
-*   [[7.2](#7_2_input-devices).4/H-SR] Are STRONGLY RECOMMENDED to launch the
+*   [[7.2](#7_2_input_devices).4/H-0-1] MUST support touchscreen input.
+*   [[7.2](#7_2_input_devices).4/H-SR] Are STRONGLY RECOMMENDED to launch the
 user-selected assist app, in other words the app that implements
 VoiceInteractionService, or an activity handling the [`ACTION_ASSIST`](https://developer.android.com/reference/android/content/Intent#ACTION_ASSIST)
 on long-press of [`KEYCODE_MEDIA_PLAY_PAUSE`](https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_MEDIA_PLAY_PAUSE)
@@ -83,44 +83,44 @@
 
 *  [[7.3](#7_3_sensors).12/H-SR] Are RECOMMENDED to support pose sensor with 6
 degrees of freedom.
-*  [[7.4](#7_4_data-connectivity).3/H]SHOULD include support for Bluetooth and
+*  [[7.4](#7_4_data_connectivity).3/H] SHOULD include support for Bluetooth and
 Bluetooth LE.
 
 If Handheld device implementations include a metered connection, they:
 
-*  [[7.4](#7_4_data-connectivity).7/H-1-1] MUST provide the data saver mode.
+*  [[7.4](#7_4_data_connectivity).7/H-1-1] MUST provide the data saver mode.
 
 Handheld device implementations:
 
-*  [[7.6](#7_6_memory-and-storage).1/H-0-1] MUST have at least 4GB of
+*  [[7.6](#7_6_memory_and_storage).1/H-0-1] MUST have at least 4 GB of
 non-volatile storage available for application private data
 (a.k.a. "/data" partition).
-*  [[7.6](#7_6_memory-and-storage).1/H-0-2] MUST return “true” for
+*  [[7.6](#7_6_memory_and_storage).1/H-0-2] MUST return “true” for
 `ActivityManager.isLowRamDevice()` when there is less than 1GB of memory
 available to the kernel and userspace.
 
 
 If Handheld device implementations are 32-bit:
 
-*   [[7.6](#7_6_memory-and-storage).1/H-1-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/H-1-1] The memory available to the kernel
 and userspace MUST be at least 512MB if any of the following densities are used:
      *    280dpi or lower on small/normal screens<sup>*</sup>
      *    ldpi or lower on extra large screens
      *    mdpi or lower on large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/H-2-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/H-2-1] The memory available to the kernel
 and userspace MUST be at least 608MB if any of the following densities are used:
      *   xhdpi or higher on small/normal screens<sup>*</sup>
      *   hdpi or higher on large screens
      *   mdpi or higher on extra large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/H-3-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/H-3-1] The memory available to the kernel
 and userspace MUST be at least 896MB if any of the following densities are used:
      *   400dpi or higher on small/normal screens<sup>*</sup>
      *   xhdpi or higher on large screens
      *   tvdpi or higher on extra large screens
 
-*    [[7.6](#7_6_memory-and-storage).1/H-4-1] The memory available to the kernel
+*    [[7.6](#7_6_memory_and_storage).1/H-4-1] The memory available to the kernel
 and userspace MUST be at least 1344MB if any of the following densities are used:
      *   560dpi or higher on small/normal screens<sup>*</sup>
      *   400dpi or higher on large screens
@@ -128,25 +128,25 @@
 
 If Handheld device implementations are 64-bit:
 
-*    [[7.6](#7_6_memory-and-storage).1/H-5-1] The memory available to the kernel
+*    [[7.6](#7_6_memory_and_storage).1/H-5-1] The memory available to the kernel
 and userspace MUST be at least 816MB if any of the following densities are used:
      *   280dpi or lower on small/normal screens<sup>*</sup>
      *   ldpi or lower on extra large screens
      *   mdpi or lower on large screens
 
-*    [[7.6](#7_6_memory-and-storage).1/H-6-1] The memory available to the kernel
+*    [[7.6](#7_6_memory_and_storage).1/H-6-1] The memory available to the kernel
 and userspace MUST be at least 944MB if any of the following densities are used:
      *   xhdpi or higher on small/normal screens<sup>*</sup>
      *   hdpi or higher on large screens
      *   mdpi or higher on extra large screens
 
-*    [[7.6](#7_6_memory-and-storage).1/H-7-1] The memory available to the kernel
+*    [[7.6](#7_6_memory_and_storage).1/H-7-1] The memory available to the kernel
 and userspace MUST be at least 1280MB if any of the following densities are used:
      *  400dpi or higher on small/normal screens<sup>*</sup>
      *  xhdpi or higher on large screens
      *  tvdpi or higher on extra large screens
 
-*    [[7.6](#7_6_memory-and-storage).1/H-8-1] The memory available to the kernel
+*    [[7.6](#7_6_memory_and_storage).1/H-8-1] The memory available to the kernel
 and userspace MUST be at least 1824MB if any of the following densities are used:
      *   560dpi or higher on small/normal screens<sup>*</sup>
      *   400dpi or higher on large screens
@@ -160,7 +160,7 @@
 
 Handheld device implementations:
 
-*   [[7.6](#7_6_memory-and-storage).2/H-0-1] MUST NOT provide an application
+*   [[7.6](#7_6_memory_and_storage).2/H-0-1] MUST NOT provide an application
 shared storage smaller than 1 GiB.
 *   [[7.7](#7_7_usb).1/H] SHOULD include a USB port supporting peripheral mode.
 
@@ -179,9 +179,9 @@
 If Handheld device implementations are capable of meeting all the performance
 requirements for supporting VR mode and include support for it, they:
 
-*   [[7.9](#7_9_virtual-reality).1/H-1-1] MUST declare the
+*   [[7.9](#7_9_virtual_reality).1/H-1-1] MUST declare the
 `android.hardware.vr.high_performance` feature flag.
-*   [[7.9](#7_9_virtual-reality).1/H-1-2] MUST include an application
+*   [[7.9](#7_9_virtual_reality).1/H-1-2] MUST include an application
 implementing `android.service.vr.VrListenerService` that can be enabled by VR
 applications via `android.app.Activity#setVrModeEnabled`.
 
@@ -190,36 +190,36 @@
 
 Handheld device implementations MUST support the following audio encoding:
 
-*    [[5.1](#5_1_media-codecs).1/H-0-1] AMR-NB
-*    [[5.1](#5_1_media-codecs).1/H-0-2] AMR-WB
-*    [[5.1](#5_1_media-codecs).1/H-0-3] MPEG-4 AAC Profile (AAC LC)
-*    [[5.1](#5_1_media-codecs).1/H-0-4] MPEG-4 HE AAC Profile (AAC+)
+*    [[5.1](#5_1_media_codecs).1/H-0-1] AMR-NB
+*    [[5.1](#5_1_media_codecs).1/H-0-2] AMR-WB
+*    [[5.1](#5_1_media_codecs).1/H-0-3] MPEG-4 AAC Profile (AAC LC)
+*    [[5.1](#5_1_media_codecs).1/H-0-4] MPEG-4 HE AAC Profile (AAC+)
 *    [[5.1](#5_1_media-codecs).1/H-0-5] AAC ELD (enhanced low delay AAC)
 
 Handheld device implementations MUST support the following audio decoding:
 
-*    [[5.1](#5_1_media-codecs).2/H-0-1] AMR-NB
-*    [[5.1](#5_1_media-codecs).2/H-0-2] AMR-WB
+*    [[5.1](#5_1_media_codecs).2/H-0-1] AMR-NB
+*    [[5.1](#5_1_media_codecs).2/H-0-2] AMR-WB
 
 Handheld device implementations MUST support the following video encoding and
 make it available to third-party applications:
 
-*    [[5.2](#5_2_video-encoding)/H-0-1] H.264 AVC
-*    [[5.2](#5_2_video-encoding)/H-0-2] VP8
+*    [[5.2](#5_2_video_encoding)/H-0-1] H.264 AVC
+*    [[5.2](#5_2_video_encoding)/H-0-2] VP8
 
 Handheld device implementations MUST support the following video decoding:
 
-*    [[5.3](#5_3_video-decoding)/H-0-1] H.264 AVC
-*    [[5.3](#5_3_video-decoding)/H-0-2] H.265 HEVC
-*    [[5.3](#5_3_video-decoding)/H-0-3] MPEG-4 SP
-*    [[5.3](#5_3_video-decoding)/H-0-4] VP8
-*    [[5.3](#5_3_video-decoding)/H-0-5] VP9
+*    [[5.3](#5_3_video_decoding)/H-0-1] H.264 AVC
+*    [[5.3](#5_3_video_decoding)/H-0-2] H.265 HEVC
+*    [[5.3](#5_3_video_decoding)/H-0-3] MPEG-4 SP
+*    [[5.3](#5_3_video_decoding)/H-0-4] VP8
+*    [[5.3](#5_3_video_decoding)/H-0-5] VP9
 
 ### 2.2.3\. Software
 
 Handheld device implementations:
 
-*   [[3.2.3.1](#3_2_3_1_core-application-intents)/H-0-1] MUST have an
+*   [[3.2.3.1](#3_2_3_1_core_application_intents)/H-0-1] MUST have an
 application that handles the [`ACTION_GET_CONTENT`](
 https://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT),
 [`ACTION_OPEN_DOCUMENT`](
@@ -231,59 +231,59 @@
 intents as described in the SDK documents, and provide the user affordance
 to access the document provider data by using [`DocumentsProvider`](
 https://developer.android.com/reference/android/provider/DocumentsProvider) API.
-*   [[3.4](#3_4_web-compatibility).1/H-0-1] MUST provide a complete
+*   [[3.4](#3_4_web_compatibility).1/H-0-1] MUST provide a complete
 implementation of the `android.webkit.Webview` API.
-*   [[3.4](#3_4_web-compatibility).2/H-0-1] MUST include a standalone Browser
+*   [[3.4](#3_4_web_compatibility).2/H-0-1] MUST include a standalone Browser
 application for general user web browsing.
-*   [[3.8](#3_8_user-interface-compatibility).1/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).1/H-SR] Are STRONGLY RECOMMENDED
 to implement a default launcher that supports in-app pinning of shortcuts,
 widgets and [widgetFeatures](
 https://developer.android.com/reference/android/appwidget/AppWidgetProviderInfo.html#widgetFeatures).
-*   [[3.8](#3_8_user-interface-compatibility).1/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).1/H-SR] Are STRONGLY RECOMMENDED
 to implement a default launcher that provides quick access to the additional
 shortcuts provided by third-party apps through the [ShortcutManager](
 https://developer.android.com/reference/android/content/pm/ShortcutManager.html)
 API.
-*   [[3.8](#3_8_user-interface-compatibility).1/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).1/H-SR] Are STRONGLY RECOMMENDED
 to include a default launcher app that shows badges for the app icons.
-*   [[3.8](#3_8_user-interface-compatibility).2/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user-interface_compatibility).2/H-SR] Are STRONGLY RECOMMENDED
 to support third-party app widgets.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-0-1] MUST allow third-party
+*   [[3.8](#3_8_user-interface_compatibility).3/H-0-1] MUST allow third-party
 apps to notify users of notable events through the [`Notification`](
 https://developer.android.com/reference/android/app/Notification.html) and
 [`NotificationManager`](
 https://developer.android.com/reference/android/app/NotificationManager.html)
 API classes.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-0-2] MUST support rich
+*   [[3.8](#3_8_user_interface_compatibility).3/H-0-2] MUST support rich
 notifications.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-0-3] MUST support heads-up
+*   [[3.8](#3_8_user_interface_compatibility).3/H-0-3] MUST support heads-up
 notifications.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-0-4] MUST include a
+*   [[3.8](#3_8_user_interface_compatibility).3/H-0-4] MUST include a
 notification shade, providing the user the ability to directly control (e.g.
 reply, snooze, dismiss, block) the notifications through user affordance such as
 action buttons or the control panel as implemented in the AOSP.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-0-5] MUST display the choices
+*   [[3.8](#3_8_user_interface_compatibility).3/H-0-5] MUST display the choices
 provided through [`RemoteInput.Builder setChoices()`](
 https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29)
 in the notification shade.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).3/H-SR] Are STRONGLY RECOMMENDED
 to display the first choice provided through [`RemoteInput.Builder setChoices()`](
 https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29)
 in the notification shade without additional user interaction.
-*   [[3.8](#3_8_user-interface-compatibility).3/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).3/H-SR] Are STRONGLY RECOMMENDED
 to display all the choices provided through [`RemoteInput.Builder setChoices()`](
 https://developer.android.com/reference/android/app/RemoteInput.Builder.html#setChoices%28java.lang.CharSequence[]%29)
 in the notification shade when the user expands all notifications in the
 notification shade.
-*   [[3.8](#3_8_user-interface-compatibility).4/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).4/H-SR] Are STRONGLY RECOMMENDED
 to implement an assistant on the device to handle the [Assist action](
 http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST).
 
 If Handheld device implementations support Assist action, they:
 
-*   [[3.8](#3_8_user-interface-compatibility).4/H-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).4/H-SR] Are STRONGLY RECOMMENDED
 to use long press on `HOME` key as the designated interaction to launch the
-assist app as described in [section 7.2.3](#7_2_3_navigation_keys) MUST launch
+assist app as described in [section 7.2.3](#7_2_3_navigation_keys). MUST launch
 the user-selected assist app, in other words the app that implements
 [`VoiceInteractionService`](
 https://developer.android.com/reference/android/service/voice/VoiceInteractionService)
@@ -291,16 +291,16 @@
 
 If Android Handheld device implementations support a lock screen, they:
 
-*   [[3.8](#3_8_user-interface-compatibility).10/H-1-1] MUST display the Lock
+*   [[3.8](#3_8_user_interface_compatibility).10/H-1-1] MUST display the Lock
 screen Notifications including the Media Notification Template.
 
 If Handheld device implementations support a secure lock screen, they:
 
-*   [[3.9](#3_9_device-administration)/H-1-1] MUST implement the full range of
+*   [[3.9](#3_9_device_administration)/H-1-1] MUST implement the full range of
 [device administration](
 http://developer.android.com/guide/topics/admin/device-admin.html)
 policies defined in the Android SDK documentation.
-*   [[3.9](#3_9_device-administration)/H-1-2]  MUST declare the support of
+*   [[3.9](#3_9_device_administration)/H-1-2]  MUST declare the support of
 managed profiles via the `android.software.managed_users` feature flag, except when the device is configured so that it would [report](
 http://developer.android.com/reference/android/app/ActivityManager.html#isLowRamDevice%28%29)
 itself as a low RAM device or so that it allocates internal (non-removable)
@@ -315,9 +315,9 @@
 of the Switch Access and TalkBack (for languages supported by the preloaded
 Text-to-speech engine) accessibility services as provided in the [talkback open
 source project](https://github.com/google/talkback).
-*   [[3.11](#3_11_text-to-speech)/H-0-1] MUST support installation of
+*   [[3.11](#3_11_text_to_speech)/H-0-1] MUST support installation of
 third-party TTS engines.
-*   [[3.11](#3_11_text-to-speech)/H-SR] Are STRONGLY RECOMMENDED to include a
+*   [[3.11](#3_11_text_to_speech)/H-SR] Are STRONGLY RECOMMENDED to include a
 TTS engine supporting the languages available on the device.
 *   [[3.13](#3_13_quick_settings)/H-SR] Are STRONGLY RECOMMENDED to include a
 Quick Settings UI component.
@@ -330,60 +330,60 @@
 
 ### 2.2.4\. Performance and Power
 
-*   [[8.1](#8_1_user-experience-consistency)/H-0-1] **Consistent frame latency**.
+*   [[8.1](#8_1_user_experience_consistency)/H-0-1] **Consistent frame latency**.
 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.
-*   [[8.1](#8_1_user-experience-consistency)/H-0-2] **User interface latency**.
+*   [[8.1](#8_1_user_experience_consistency)/H-0-2] **User interface latency**.
 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.
-*   [[8.1](#8_1_user-experience-consistency)/H-0-3] **Task switching**. When
+*   [[8.1](#8_1_user_experience_consistency)/H-0-3] **Task switching**. When
 multiple applications have been launched, re-launching an already-running
 application after it has been launched MUST take less than 1 second.
 
 Handheld device implementations:
 
-*   [[8.2](#8_2_file-io-access-performance)/H-0-1] MUST ensure a sequential
+*   [[8.2](#8_2_file_io_access_performance)/H-0-1] MUST ensure a sequential
 write performance of at least 5 MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/H-0-2] MUST ensure a random write
+*   [[8.2](#8_2_file_io_access_performance)/H-0-2] MUST ensure a random write
 performance of at least 0.5 MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/H-0-3] MUST ensure a sequential read
+*   [[8.2](#8_2_file_io_access_performance)/H-0-3] MUST ensure a sequential read
 performance of at least 15 MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/H-0-4] MUST ensure a random read
+*   [[8.2](#8_2_file_io_access_performance)/H-0-4] MUST ensure a random read
 performance of at least 3.5 MB/s.
 
 If Handheld device implementations include features to improve device power
 management that are included in AOSP or extend the features that are included
 in AOSP, they:
 
-* [[8.3](#8_3_power-saving-modes)/H-1-1] MUST provide user affordance to enable
+* [[8.3](#8_3_power_saving_modes)/H-1-1] MUST provide user affordance to enable
   and disable the battery saver feature.
-* [[8.3](#8_3_power-saving-modes)/H-1-2] MUST provide user affordance to display
+* [[8.3](#8_3_power_saving_modes)/H-1-2] MUST provide user affordance to display
   all apps that are exempted from App Standby and Doze power-saving modes.
 
 Handheld device implementations:
 
-*    [[8.4](#8_4_power-consumption-accounting)/H-0-1] MUST provide a
+*    [[8.4](#8_4_power_consumption_accounting)/H-0-1] MUST provide a
 per-component power profile that defines the [current consumption value](
 http://source.android.com/devices/tech/power/values.html)
 for each hardware component and the approximate battery drain caused by the
 components over time as documented in the Android Open Source Project site.
-*    [[8.4](#8_4_power-consumption-accounting)/H-0-2] MUST report all power
+*    [[8.4](#8_4_power_consumption_accounting)/H-0-2] MUST report all power
 consumption values in milliampere hours (mAh).
-*    [[8.4](#8_4_power-consumption-accounting)/H-0-3] MUST report CPU power
+*    [[8.4](#8_4_power_consumption_accounting)/H-0-3] MUST report CPU power
 consumption per each process's UID. The Android Open Source Project meets the
 requirement through the `uid_cputime` kernel module implementation.
-*   [[8.4](#8_4_power-consumption-accounting)/H-0-4] MUST make this power usage
+*   [[8.4](#8_4_power_consumption_accounting)/H-0-4] MUST make this power usage
 available via the [`adb shell dumpsys batterystats`](
 http://source.android.com/devices/tech/power/batterystats.html)
 shell command to the app developer.
-*   [[8.4](#8_4_power-consumption-accounting)/H] SHOULD be attributed to the
+*   [[8.4](#8_4_power_consumption_accounting)/H] SHOULD be attributed to the
 hardware component itself if unable to attribute hardware component power usage
 to an application.
 
 If Handheld device implementations include a screen or video output, they:
 
-*   [[8.4](#8_4_power-consumption-accounting)/H-1-1] MUST honor the
+*   [[8.4](#8_4_power_consumption_accounting)/H-1-1] MUST honor the
 [`android.intent.action.POWER_USAGE_SUMMARY`](
 http://developer.android.com/reference/android/content/Intent.html#ACTION_POWER_USAGE_SUMMARY)
 intent and display a settings menu that shows this power usage.
@@ -408,4 +408,4 @@
     notifications and disable all forms of authentication except for the
     primary authentication described in
     [9.11.1 Secure Lock Screen](#9_11_1_secure-lock-screen). The AOSP meets the
-    requirement as lockdown mode.
\ No newline at end of file
+    requirement as lockdown mode.
diff --git a/2_device-types/2_3_television-reqs.md b/2_device-types/2_3_television-reqs.md
index 0856947..853173c 100644
--- a/2_device-types/2_3_television-reqs.md
+++ b/2_device-types/2_3_television-reqs.md
@@ -10,7 +10,7 @@
 *   Have provided a mechanism to remotely control the rendered user interface on
     the display that might sit ten feet away from the user.
 *   Have an embedded screen display with the diagonal length larger than 24
-    inches OR include a video output port, such as VGA, HDMI, DisplayPort or a
+    inches OR include a video output port, such as VGA, HDMI, DisplayPort, or a
     wireless port for display.
 
 The additional requirements in the rest of this section are specific to Android
@@ -20,17 +20,17 @@
 
 Television device implementations:
 
-*   [[7.2](#7_2_input-devices).2/T-0-1] MUST support [D-pad](
+*   [[7.2](#7_2_input_devices).2/T-0-1] MUST support [D-pad](
 https://developer.android.com/reference/android/content/res/Configuration.html#NAVIGATION_DPAD).
-*   [[7.2](#7_2_input-devices).3/T-0-1] MUST provide the Home and Back
+*   [[7.2](#7_2_input_devices).3/T-0-1] MUST provide the Home and Back
 functions.
-*   [[7.2](#7_2_input-devices).3/T-0-2] MUST send both the normal and long press
+*   [[7.2](#7_2_input_devices).3/T-0-2] MUST send both the normal and long press
 event of the Back function ([`KEYCODE_BACK`](
 http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK))
 to the foreground application.
-*   [[7.2](#7_2_input-devices).6.1/T-0-1] MUST include support for game
+*   [[7.2](#7_2_input_devices).6.1/T-0-1] MUST include support for game
 controllers and declare the `android.hardware.gamepad` feature flag.
-*   [[7.2](#7_2_input-devices).7/T] SHOULD provide a remote control from which
+*   [[7.2](#7_2_input_devices).7/T] SHOULD provide a remote control from which
 users can access [non-touch navigation](#7_2_2_non-touch_navigation) and
 [core navigation keys](#7_2_3_navigation_keys) inputs.
 
@@ -43,9 +43,9 @@
 
 Television device implementations:
 
-*   [[7.4](#7_4_data-connectivity).3/T-0-1] MUST support Bluetooth and
+*   [[7.4](#7_4_data_connectivity).3/T-0-1] MUST support Bluetooth and
 Bluetooth LE.
-*   [[7.6](#7_6_memory-and-storage).1/T-0-1] MUST have at least 4GB of
+*   [[7.6](#7_6_memory_and_storage).1/T-0-1] MUST have at least 4 GB of
 non-volatile storage available for application private data
 (a.k.a. "/data" partition).
 
@@ -57,7 +57,7 @@
 
 If TV device implementations are 32-bit:
 
-*   [[7.6](#7_6_memory-and-storage).1/T-1-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/T-1-1] The memory available to the kernel
 and userspace MUST be at least 896MB if any of the following densities are used:
 
     *   400dpi or higher on small/normal screens
@@ -66,7 +66,7 @@
 
 If TV device implementations are 64-bit:
 
-*   [[7.6](#7_6_memory-and-storage).1/T-2-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/T-2-1] The memory available to the kernel
 and userspace MUST be at least 1280MB if any of the following densities are
 used:
 
@@ -89,95 +89,95 @@
 
 Television device implementations MUST support the following audio encoding formats:
 
-*    [[5.1](#5_1_media-codecs)/T-0-1] MPEG-4 AAC Profile (AAC LC)
-*    [[5.1](#5_1_media-codecs)/T-0-2] MPEG-4 HE AAC Profile (AAC+)
-*    [[5.1](#5_1_media-codecs)/T-0-3] AAC ELD (enhanced low delay AAC)
+*    [[5.1](#5_1_media_codecs)/T-0-1] MPEG-4 AAC Profile (AAC LC)
+*    [[5.1](#5_1_media_codecs)/T-0-2] MPEG-4 HE AAC Profile (AAC+)
+*    [[5.1](#5_1_media_codecs)/T-0-3] AAC ELD (enhanced low delay AAC)
 
 
 Television device implementations MUST support the following video encoding formats:
 
-*    [[5.2](#5_2_video-encoding)/T-0-1] H.264 
-*    [[5.2](#5_2_video-encoding)/T-0-2] VP8
+*    [[5.2](#5_2_video_encoding)/T-0-1] H.264 
+*    [[5.2](#5_2_video_encoding)/T-0-2] VP8
 
 Television device implementations:
 
-*   [[5.2](#5_2_video-encoding).2/T-SR] Are STRONGLY RECOMMENDED to support
+*   [[5.2](#5_2_video_encoding).2/T-SR] Are STRONGLY RECOMMENDED to support
 H.264 encoding of 720p and 1080p resolution videos at 30 frames per second.
 
 Television device implementations MUST support the following video decoding formats:
 
-*    [[5.3.3](#5_3_video-decoding)/T-0-1] MPEG-4 SP
-*    [[5.3.4](#5_3_video-decoding)/T-0-2] H.264 AVC
-*    [[5.3.5](#5_3_video-decoding)/T-0-3] H.265 HEVC
-*    [[5.3.6](#5_3_video-decoding)/T-0-4] VP8
-*    [[5.3.7](#5_3_video-decoding)/T-0-5] VP9
+*    [[5.3.3](#5_3_video_decoding)/T-0-1] MPEG-4 SP
+*    [[5.3.4](#5_3_video_decoding)/T-0-2] H.264 AVC
+*    [[5.3.5](#5_3_video_decoding)/T-0-3] H.265 HEVC
+*    [[5.3.6](#5_3_video_decoding)/T-0-4] VP8
+*    [[5.3.7](#5_3_video_decoding)/T-0-5] VP9
 
 Television device implementations are STRONGLY RECOMMENDED to support the
 following video decoding formats:
 
-*    [[5.3.1](#5_3_video-decoding)/T-SR] MPEG-2
+*    [[5.3.1](#5_3_video_decoding)/T-SR] MPEG-2
 
 Television device implementations MUST support H.264 decoding, as detailed in Section 5.3.4, 
 at standard video frame rates and resolutions up to and including:
 
-*   [[5.3.4](#5_3_video-decoding).4/T-1-1] HD 1080p at 60 frames per second with Basline Profile
-*   [[5.3.4](#5_3_video-decoding).4/T-1-2] HD 1080p at 60 frames per second with Main Profile 
-*   [[5.3.4](#5_3_video-decoding).4/T-1-3] HD 1080p at 60 frames per second with High Profile Level 4.2
+*   [[5.3.4](#5_3_video_decoding).4/T-1-1] HD 1080p at 60 frames per second with Basline Profile
+*   [[5.3.4](#5_3_video_decoding).4/T-1-2] HD 1080p at 60 frames per second with Main Profile 
+*   [[5.3.4](#5_3_video_decoding).4/T-1-3] HD 1080p at 60 frames per second with High Profile Level 4.2
 
 Television device implementations  with H.265 hardware decoders MUST support H.265 decoding, 
 as detailed in Section 5.3.5, at standard video frame rates and resolutions up to and including:
 
-*   [[5.3.5](#5_3_video-decoding).4/T-1-1] HD 1080p at 60 frames per second with Main Profile Level 4.1
+*   [[5.3.5](#5_3_video_decoding).4/T-1-1] HD 1080p at 60 frames per second with Main Profile Level 4.1
 
 If Television device implementations with H.265 hardware decoders support 
 H.265 decoding and the UHD decoding profile, they:
 
-*   [[5.3.5](#5_3_video-decoding).5/T-2-1] MUST support UHD 3480p at 60 frames per second with Main10 Level 5
+*   [[5.3.5](#5_3_video_decoding).5/T-2-1] MUST support UHD 3480p at 60 frames per second with Main10 Level 5
 Main Tier profile.
 
 Television device implementations MUST support VP8 decoding, as detailed in Section 5.3.6, 
 at standard video frame rates and resolutions up to and including:
 
-*   [[5.3.6](#5_3_video-decoding).4/T-1-1] HD 1080p at 60 frames per second decoding profile
+*   [[5.3.6](#5_3_video_decoding).4/T-1-1] HD 1080p at 60 frames per second decoding profile
 
 Television device implementations  with VP9 hardware decoders MUST support VP9 decoding, as detailed in Section 5.3.7, 
 at standard video frame rates and resolutions up to and including:
 
-*   [[5.3.7](#5_3_video-decoding).4/T-1-1] HD 1080p at 60 frames per second with profile 0 (8 bit colour depth) 
+*   [[5.3.7](#5_3_video_decoding).4/T-1-1] HD 1080p at 60 frames per second with profile 0 (8 bit colour depth) 
 
 If Television device implementations with VP9 hardware decoders support VP9 decoding and the UHD decoding
 profile, they:
 
-*   [[5.3.7](#5_3_video-decoding).5/T-2-1] MUST support UHD 3480p at 60 frames per second with profile 0 (8 bit colour depth).
-*   [[5.3.7](#5_3_video-decoding).5/T-2-1] Are STRONGLY RECOMMENDED to support UHD 3480p at 60 frames per second with profile 2 (10 bit colour depth).
+*   [[5.3.7](#5_3_video_decoding).5/T-2-1] MUST support UHD 3480p at 60 frames per second with profile 0 (8 bit colour depth).
+*   [[5.3.7](#5_3_video_decoding).5/T-2-1] Are STRONGLY RECOMMENDED to support UHD 3480p at 60 frames per second with profile 2 (10 bit colour depth).
 
 Television device implementations:
 
-*   [[5.5](#5_5_audio-playback).3/T-0-1] MUST include support for system Master
+*   [[5.5](#5_5_audio_playback).3/T-0-1] MUST include support for system Master
 Volume and digital audio output volume attenuation on supported outputs,
 except for compressed audio passthrough output (where no audio decoding is done
 on the device).
-*    [[5.8](#5_8_secure-media)/T-0-1] MUST set the HDMI output mode to
+*    [[5.8](#5_8_secure_media)/T-0-1] MUST set the HDMI output mode to
 select the maximum resolution that can be supported with either 50Hz or 60Hz
 refresh rate for all wired displays.
-*    [[5.8](#5_8_secure-media)/T-SR] Are STRONGLY RECOMMENDED to provide a user
+*    [[5.8](#5_8_secure_media)/T-SR] Are STRONGLY RECOMMENDED to provide a user
 configurable HDMI refresh rate selector for all wired displays.
-*    [[5.8](#5_8_secure-media)/T-SR] Are STRONGLY RECOMMENDED to support
+*    [[5.8](#5_8_secure_media)/T-SR] Are STRONGLY RECOMMENDED to support
 simultaneous decoding of secure streams. At minimum, simultaneous decoding of
 two steams is STRONGLY RECOMMENDED.
-*    [[5.8](#5_8_secure-media)] SHOULD set the HDMI output mode refresh rate
+*    [[5.8](#5_8_secure_media)] SHOULD set the HDMI output mode refresh rate
 to either 50Hz or 60Hz, depending on the video refresh rate for the region the
 device is sold in for all wired displays.
 
 If Television device implementations support UHD decoding and have support
 for external displays, they:
 
-*    [[5.8](#5_8_secure-media)/T-1-1] MUST support HDCP 2.2.
+*    [[5.8](#5_8_secure_media)/T-1-1] MUST support HDCP 2.2.
 
 If Television device implementations do not support UHD decoding but have
 support for external displays, they:
 
-*    [[5.8](#5_8_secure-media)/T-2-1] MUST support HDCP 1.4
+*    [[5.8](#5_8_secure_media)/T-2-1] MUST support HDCP 1.4
 
 
 
@@ -189,17 +189,17 @@
 [`android.software.leanback`](
 http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_LEANBACK)
 and `android.hardware.type.television`.
-*   [[3.4](#3_4_web-compatibility).1/T-0-1] MUST provide a complete
+*   [[3.4](#3_4_web_compatibility).1/T-0-1] MUST provide a complete
 implementation of the `android.webkit.Webview` API.
 
 If Android Television device implementations support a lock screen,they:
 
-*   [[3.8](#3_8_user-interface-compatibility).10/T-1-1] MUST display the Lock
+*   [[3.8](#3_8_user_interface_compatibility).10/T-1-1] MUST display the Lock
 screen Notifications including the Media Notification Template.
 
 Television device implementations:
 
-*   [[3.8](#3_8_user-interface-compatibility).14/T-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).14/T-SR] Are STRONGLY RECOMMENDED
 to support picture-in-picture (PIP) mode multi-window.
 *   [[3.10](#3_10_accessibility)/T-0-1] MUST support third-party accessibility
 services.
@@ -213,56 +213,56 @@
 If Television device implementations report the feature
 `android.hardware.audio.output`, they:
 
-*   [[3.11](#3_11_text-to-speech)/T-SR] Are STRONGLY RECOMMENDED to include a
+*   [[3.11](#3_11_text_to_speech)/T-SR] Are STRONGLY RECOMMENDED to include a
 TTS engine supporting the languages available on the device.
-*   [[3.11](#3_11_text-to-speech)/T-1-1] MUST support installation of
+*   [[3.11](#3_11_text_to_speech)/T-1-1] MUST support installation of
 third-party TTS engines.
 
 
 Television device implementations:
 
-*    [[3.12](#3_12_tv-input-framework)/T-0-1] MUST support TV Input Framework.
+*    [[3.12](#3_12_tv_input_framework)/T-0-1] MUST support TV Input Framework.
 
 
 ### 2.3.4\. Performance and Power
 
-*   [[8.1](#8_1_user-experience-consistency)/T-0-1] **Consistent frame latency**.
+*   [[8.1](#8_1_user_experience_consistency)/T-0-1] **Consistent frame latency**.
    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.
-*   [[8.2](#8_2_file-io-access-performance)/T-0-1] MUST ensure a sequential
+*   [[8.2](#8_2_file_io_access_performance)/T-0-1] MUST ensure a sequential
    write performance of at least 5MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/T-0-2] MUST ensure a random write
+*   [[8.2](#8_2_file_io_access_performance)/T-0-2] MUST ensure a random write
    performance of at least 0.5MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/T-0-3] MUST ensure a sequential
+*   [[8.2](#8_2_file_io_access_performance)/T-0-3] MUST ensure a sequential
    read performance of at least 15MB/s.
-*   [[8.2](#8_2_file-io-access-performance)/T-0-4] MUST ensure a random read
+*   [[8.2](#8_2_file_io_access_performance)/T-0-4] MUST ensure a random read
    performance of at least 3.5MB/s.
 
 If Television device implementations include features to improve device power
 management that are included in AOSP or extend the features that are included
 in AOSP, they:
 
-* [[8.3](#8_3_power-saving-modes)/T-1-1] MUST provide user affordance to enable
+* [[8.3](#8_3_power_saving_modes)/T-1-1] MUST provide user affordance to enable
   and disable the battery saver feature.
-* [[8.3](#8_3_power-saving-modes)/T-1-2] MUST provide user affordance to display
+* [[8.3](#8_3_power_saving_modes)/T-1-2] MUST provide user affordance to display
   all apps that are exempted from App Standby and Doze power-saving modes.
 
 Television device implementations:
 
-*    [[8.4](#8_4_power-consumption-accounting)/T-0-1] MUST provide a
+*    [[8.4](#8_4_power_consumption_accounting)/T-0-1] MUST provide a
 per-component power profile that defines the [current consumption value](
 http://source.android.com/devices/tech/power/values.html)
 for each hardware component and the approximate battery drain caused by the
 components over time as documented in the Android Open Source Project site.
-*    [[8.4](#8_4_power-consumption-accounting)/T-0-2] MUST report all power
+*    [[8.4](#8_4_power_consumption_accounting)/T-0-2] MUST report all power
 consumption values in milliampere hours (mAh).
-*    [[8.4](#8_4_power-consumption-accounting)/T-0-3] MUST report CPU power
+*    [[8.4](#8_4_power_consumption_accounting)/T-0-3] MUST report CPU power
 consumption per each process's UID. The Android Open Source Project meets the
 requirement through the `uid_cputime` kernel module implementation.
-*    [[8.4](#8_4_power-consumption-accounting)/T] SHOULD be attributed to the
+*    [[8.4](#8_4_power_consumption_accounting)/T] SHOULD be attributed to the
 hardware component itself if unable to attribute hardware component power usage
 to an application.
-*   [[8.4](#8_4_power-consumption-accounting)/T-0-4] MUST make this power usage
+*   [[8.4](#8_4_power_consumption_accounting)/T-0-4] MUST make this power usage
 available via the [`adb shell dumpsys batterystats`](
 http://source.android.com/devices/tech/power/batterystats.html)
 shell command to the app developer.
diff --git a/2_device-types/2_4_watch-reqs.md b/2_device-types/2_4_watch-reqs.md
index aa5912a..1d44f71 100644
--- a/2_device-types/2_4_watch-reqs.md
+++ b/2_device-types/2_4_watch-reqs.md
@@ -17,22 +17,22 @@
 
 Watch device implementations:
 
-*   [[7.1](#7_1_display-and-graphics).1.1/W-0-1] MUST have a screen with the
+*   [[7.1](#7_1_display_and_graphics).1.1/W-0-1] MUST have a screen with the
 physical diagonal size in the range from 1.1 to 2.5 inches.
 
-*   [[7.2](#7_2_input-devices).3/W-0-1] MUST have the Home function available
+*   [[7.2](#7_2_input_devices).3/W-0-1] MUST have the Home function available
 to the user, and the Back function except for when it is in `UI_MODE_TYPE_WATCH`.
 
-*   [[7.2](#7_2_input-devices).4/W-0-1] MUST support touchscreen input.
+*   [[7.2](#7_2_input_devices).4/W-0-1] MUST support touchscreen input.
 
 *   [[7.3](#7_3_sensors).1/W-SR] Are STRONGLY RECOMMENDED to include a 3-axis
 accelerometer.
 
-*   [[7.4](#7_4_data-connectivity).3/W-0-1] MUST support Bluetooth.
+*   [[7.4](#7_4_data_connectivity).3/W-0-1] MUST support Bluetooth.
 
-*   [[7.6](#7_6_memory-and-storage).1/W-0-1] MUST have at least 1GB of
-non-volatile storage available for application private data (a.k.a. "/data" partition)
-*   [[7.6](#7_6_memory-and-storage).1/W-0-2] MUST have at least 416MB memory
+*   [[7.6](#7_6_memory_and_storage).1/W-0-1] MUST have at least 1 GB of
+non-volatile storage available for application private data (a.k.a. "/data" partition).
+*   [[7.6](#7_6_memory_and_storage).1/W-0-2] MUST have at least 416 MB memory
 available to the kernel and userspace.
 
 *   [[7.8](#7_8_audio).1/W-0-1] MUST include a microphone.
@@ -55,7 +55,7 @@
 
 Watch device implementations:
 
-*   [[3.8](#3_8_user-interface-compatibility).4/W-SR] Are STRONGLY RECOMMENDED
+*   [[3.8](#3_8_user_interface_compatibility).4/W-SR] Are STRONGLY RECOMMENDED
 to implement an assistant on the device to handle the [Assist action](
 http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST).
 
@@ -73,10 +73,10 @@
 If Watch device implementations report the feature android.hardware.audio.output,
 they:
 
-*   [[3.11](#3_11_text-to-speech)/W-SR] Are STRONGLY RECOMMENDED to include a
+*   [[3.11](#3_11_text_to_speech)/W-SR] Are STRONGLY RECOMMENDED to include a
 TTS engine supporting the languages available on the device.
 
-*   [[3.11](#3_11_text-to-speech)/W-0-1] MUST support installation of
+*   [[3.11](#3_11_text_to_speech)/W-0-1] MUST support installation of
 third-party TTS engines.
 
 ### 2.4.4\. Performance and Power
@@ -85,28 +85,28 @@
 management that are included in AOSP or extend the features that are included
 in AOSP, they:
 
-*   [[8.3](#8_3_power-saving-modes)/W-SR] Are STRONGLY RECOMMENDED to provide
+*   [[8.3](#8_3_power_saving_modes)/W-SR] Are STRONGLY RECOMMENDED to provide
     user affordance to display all apps that are exempted from App Standby and
     Doze power-saving modes.
-*   [[8.3](#8_3_power-saving-modes)/W-SR] Are STRONGLY RECOMMENDED to provide
+*   [[8.3](#8_3_power_saving_modes)/W-SR] Are STRONGLY RECOMMENDED to provide
     user affordance to enable and disable the battery saver feature.
 
 Watch device implementations:
 
-*    [[8.4](#8_4_power-consumption-accounting)/W-0-1] MUST provide a
+*    [[8.4](#8_4_power_consumption_accounting)/W-0-1] MUST provide a
 per-component power profile that defines the [current consumption value](
-http://source.android.com/devices/tech/power/values.html).
+http://source.android.com/devices/tech/power/values.html)
 for each hardware component and the approximate battery drain caused by the
 components over time as documented in the Android Open Source Project site.
-*    [[8.4](#8_4_power-consumption-accounting)/W-0-2] MUST report all power
+*    [[8.4](#8_4_power_consumption_accounting)/W-0-2] MUST report all power
 consumption values in milliampere hours (mAh).
-*    [[8.4](#8_4_power-consumption-accounting)/W-0-3] MUST report CPU power
+*    [[8.4](#8_4_power_consumption_accounting)/W-0-3] MUST report CPU power
 consumption per each process's UID. The Android Open Source Project meets the
 requirement through the `uid_cputime` kernel module implementation.
-*   [[8.4](#8_4_power-consumption-accounting)/W-0-4] MUST make this power usage
+*   [[8.4](#8_4_power_consumption_accounting)/W-0-4] MUST make this power usage
 available via the [`adb shell dumpsys batterystats`](
 http://source.android.com/devices/tech/power/batterystats.html)
 shell command to the app developer.
-*   [[8.4](#8_4_power-consumption-accounting)/W] SHOULD be attributed to the
+*   [[8.4](#8_4_power_consumption_accounting)/W] SHOULD be attributed to the
 hardware component itself if unable to attribute hardware component power usage
 to an application.
diff --git a/2_device-types/2_5_automotive-reqs.md b/2_device-types/2_5_automotive-reqs.md
index 9246a37..3b6d56e 100644
--- a/2_device-types/2_5_automotive-reqs.md
+++ b/2_device-types/2_5_automotive-reqs.md
@@ -18,14 +18,14 @@
 
 Automotive device implementations:
 
-*   [[7.1](#7_1_display-and-graphics).1.1/A-0-1] MUST have a screen at least 6
+*   [[7.1](#7_1_display_and-graphics).1.1/A-0-1] MUST have a screen at least 6
 inches in physical diagonal size.
-*   [[7.1](#7_1_display-and-graphics).1.1/A-0-2] MUST have a screen size layout
+*   [[7.1](#7_1_display_and_graphics).1.1/A-0-2] MUST have a screen size layout
 of at least 750 dp x 480 dp.
 
-*   [[7.2](#7_2_input-devices).3/A-0-1] MUST provide the Home function and MAY
+*   [[7.2](#7_2_input_devices).3/A-0-1] MUST provide the Home function and MAY
 provide Back and Recent functions.
-*   [[7.2](#7_2_input-devices).3/A-0-2] MUST send both the normal and long press
+*   [[7.2](#7_2_input_devices).3/A-0-2] MUST send both the normal and long press
 event of the Back function ([`KEYCODE_BACK`](
 http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK))
 to the foreground application.
@@ -74,61 +74,61 @@
 *    [[7.3](#7_3_sensors).11.5/A-0-1] MUST provide parking brake status as
 defined by `SENSOR_TYPE_PARKING_BRAKE`.
 
-*    [[7.4](#7_4_data-connectivity).3/A-0-1] MUST support Bluetooth and SHOULD
+*    [[7.4](#7_4_data_connectivity).3/A-0-1] MUST support Bluetooth and SHOULD
 support Bluetooth LE.
-*    [[7.4](#7_4_data-connectivity).3/A-0-2] Android Automotive implementations
+*    [[7.4](#7_4_data_connectivity).3/A-0-2] Android Automotive implementations
 MUST support the following Bluetooth profiles:
      * Phone calling over Hands-Free Profile (HFP).
      * Media playback over Audio Distribution Profile (A2DP).
      * Media playback control over Remote Control Profile (AVRCP).
      * Contact sharing using the Phone Book Access Profile (PBAP).
-*    [[7.4](#7_4_data-connectivity).3/A-SR] Are STRONGLY RECOMMENDED to support
+*    [[7.4](#7_4_data_connectivity).3/A-SR] Are STRONGLY RECOMMENDED to support
 Message Access Profile (MAP).
 
-*   [[7.4](#7_4_data-connectivity).5/A] SHOULD include support for cellular
+*   [[7.4](#7_4_data_connectivity).5/A] SHOULD include support for cellular
 network-based data connectivity.
-*   [[7.4](#7_4_data-connectivity).5/A] MAY use the System API
+*   [[7.4](#7_4_data_connectivity).5/A] MAY use the System API
 `NetworkCapabilities#NET_CAPABILITY_OEM_PAID` constant for
 networks that should be available to system apps.
 
-*   [[7.6](#7_6_memory-and-storage).1/A-0-1] MUST have at least 4GB of
+*   [[7.6](#7_6_memory_and_storage).1/A-0-1] MUST have at least 4 GB of
 non-volatile storage available for application private data
 (a.k.a. "/data" partition).
 
 Automotive device implementations:
 
-*   [[7.6](#7_6_memory-and-storage).1/A] SHOULD format the data partition
+*   [[7.6](#7_6_memory_and_storage).1/A] SHOULD format the data partition
 to offer improved performance and longevity on flash storage, for example
 using `f2fs` file-system.
 
 If Automotive device implementations provide shared external storage via a
 portion of the internal non-removable storage, they:
 
-*   [[7.6](#7_6_memory-and-storage).1/A-SR] Are STRONGLY RECOMMENDED to reduce
+*   [[7.6](#7_6_memory_and_storage).1/A-SR] Are STRONGLY RECOMMENDED to reduce
 I/O overhead on operations performed on the external storage, for example by
 using `SDCardFS`.
 
 If Automotive device implementations are 32-bit:
 
-*   [[7.6](#7_6_memory-and-storage).1/A-1-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-1-1] The memory available to the kernel
 and userspace MUST be at least 512MB if any of the following densities are used:
      *    280dpi or lower on small/normal screens
      *    ldpi or lower on extra large screens
      *    mdpi or lower on large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-1-2] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-1-2] The memory available to the kernel
 and userspace MUST be at least 608MB if any of the following densities are used:
      *   xhdpi or higher on small/normal screens
      *   hdpi or higher on large screens
      *   mdpi or higher on extra large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-1-3] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-1-3] The memory available to the kernel
 and userspace MUST be at least 896MB if any of the following densities are used:
      *   400dpi or higher on small/normal screens
      *   xhdpi or higher on large screens
      *   tvdpi or higher on extra large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-1-4] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-1-4] The memory available to the kernel
 and userspace MUST be at least 1344MB if any of the following densities are
 used:
      *   560dpi or higher on small/normal screens
@@ -137,25 +137,25 @@
 
 If Automotive device implementations are 64-bit:
 
-*   [[7.6](#7_6_memory-and-storage).1/A-2-1] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-2-1] The memory available to the kernel
 and userspace MUST be at least 816MB if any of the following densities are used:
      *   280dpi or lower on small/normal screens
      *   ldpi or lower on extra large screens
      *   mdpi or lower on large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-2-2] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-2-2] The memory available to the kernel
 and userspace MUST be at least 944MB if any of the following densities are used:
      *   xhdpi or higher on small/normal screens
      *   hdpi or higher on large screens
      *   mdpi or higher on extra large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-2-3] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-2-3] The memory available to the kernel
 and userspace MUST be at least 1280MB if any of the following densities are used:
      *  400dpi or higher on small/normal screens
      *  xhdpi or higher on large screens
      *  tvdpi or higher on extra large screens
 
-*   [[7.6](#7_6_memory-and-storage).1/A-2-4] The memory available to the kernel
+*   [[7.6](#7_6_memory_and_storage).1/A-2-4] The memory available to the kernel
 and userspace MUST be at least 1824MB if any of the following densities are used:
      *   560dpi or higher on small/normal screens
      *   400dpi or higher on large screens
@@ -183,26 +183,26 @@
 
 Automotive device implementations MUST support the following audio encoding:
 
-*    [[5.1](#5_1_media-codecs)/A-0-1] MPEG-4 AAC Profile (AAC LC)
-*    [[5.1](#5_1_media-codecs)/A-0-2] MPEG-4 HE AAC Profile (AAC+)
-*    [[5.1](#5_1_media-codecs)/A-0-3] AAC ELD (enhanced low delay AAC)
+*    [[5.1](#5_1_media_codecs)/A-0-1] MPEG-4 AAC Profile (AAC LC)
+*    [[5.1](#5_1_media_codecs)/A-0-2] MPEG-4 HE AAC Profile (AAC+)
+*    [[5.1](#5_1_media_codecs)/A-0-3] AAC ELD (enhanced low delay AAC)
 
 Automotive device implementations MUST support the following video encoding:
 
-*    [[5.2](#5_2_video-encoding)/A-0-1] H.264 AVC
-*    [[5.2](#5_2_video-encoding)/A-0-2] VP8
+*    [[5.2](#5_2_video_encoding)/A-0-1] H.264 AVC
+*    [[5.2](#5_2_video_encoding)/A-0-2] VP8
 
 Automotive device implementations MUST support the following video decoding:
 
-*    [[5.3](#5_3_video-decoding)/A-0-1] H.264 AVC
-*    [[5.3](#5_3_video-decoding)/A-0-2] MPEG-4 SP
-*    [[5.3](#5_3_video-decoding)/A-0-3] VP8
-*    [[5.3](#5_3_video-decoding)/A-0-4] VP9
+*    [[5.3](#5_3_video_decoding)/A-0-1] H.264 AVC
+*    [[5.3](#5_3_video_decoding)/A-0-2] MPEG-4 SP
+*    [[5.3](#5_3_video_decoding)/A-0-3] VP8
+*    [[5.3](#5_3_video_decoding)/A-0-4] VP9
 
 Automotive device implementations are STRONGLY RECOMMENDED to support the
 following video decoding:
 
-*    [[5.3](#5_3_video-decoding)/A-SR] H.265 HEVC
+*    [[5.3](#5_3_video_decoding)/A-SR] H.265 HEVC
 
 
 ### 2.5.3\. Software
@@ -219,15 +219,15 @@
 [`android.car.*`](https://developer.android.com/reference/android/car/package-summary)
 namespace.
 
-*   [[3.4](#3_4_web-compatibility).1/A-0-1] MUST provide a complete
+*   [[3.4](#3_4_web_compatibility).1/A-0-1] MUST provide a complete
 implementation of the `android.webkit.Webview` API.
 
-*   [[3.8](#3_8_user-interface-compatibility).3/A-0-1] MUST display
+*   [[3.8](#3_8_user_interface_compatibility).3/A-0-1] MUST display
 notifications that use the [`Notification.CarExtender`](
 https://developer.android.com/reference/android/app/Notification.CarExtender.html)
 API when requested by third-party applications.
 
-*   [[3.8](#3_8_user-interface-compatibility).4/A-0-1] MUST implement an
+*   [[3.8](#3_8_user_interface_compatibility).4/A-0-1] MUST implement an
 assistant on the device that provides a default implementation of the
 [`VoiceInteractionSession`](https://developer.android.com/reference/android/service/voice/VoiceInteractionSession)
 service.
@@ -237,7 +237,7 @@
 
 If Automotive device implementations include a push-to-talk button, they:
 
-*   [[3.8](#3_8_user-interface-compatibility).4/A-1-1] MUST use a short press of
+*   [[3.8](#3_8_user_interface_compatibility).4/A-1-1] MUST use a short press of
 the push-to-talk button as the designated interaction to launch the
 user-selected assist app, in other words the app that implements
 [`VoiceInteractionService`](
@@ -255,32 +255,32 @@
 management that are included in AOSP or extend the features that are included
 in AOSP, they:
 
-* [[8.3](#8_3_power-saving-modes)/A-1-1] MUST provide user affordance to enable
+* [[8.3](#8_3_power_saving_modes)/A-1-1] MUST provide user affordance to enable
   and disable the battery saver feature.
-* [[8.3](#8_3_power-saving-modes)/A-1-2] MUST provide user affordance to display
+* [[8.3](#8_3_power_saving_modes)/A-1-2] MUST provide user affordance to display
   all apps that are exempted from App Standby and Doze power-saving modes.
 
 Automotive device implementations:
 
-*   [[8.2](#8.2_File I/O Access Performance)/A-0-1] MUST report the number of
+*   [[8.2](#8_2_file_i/o_access_performance)/A-0-1] MUST report the number of
 bytes read and written to non-volatile storage per each process's UID so the
 stats are available to developers through System API
 `android.car.storagemonitoring.CarStorageMonitoringManager`. The Android Open
 Source Project meets the requirement through the `uid_sys_stats` kernel module.
-*   [[8.4](#8_4_power-consumption-accounting)/A-0-1] MUST provide a
+*   [[8.4](#8_4_power_consumption_accounting)/A-0-1] MUST provide a
 per-component power profile that defines the [current consumption value](
 http://source.android.com/devices/tech/power/values.html)
 for each hardware component and the approximate battery drain caused by the
 components over time as documented in the Android Open Source Project site.
-*   [[8.4](#8_4_power-consumption-accounting)/A-0-2] MUST report all power
+*   [[8.4](#8_4_power_consumption_accounting)/A-0-2] MUST report all power
 consumption values in milliampere hours (mAh).
-*   [[8.4](#8_4_power-consumption-accounting)/A-0-3] MUST report CPU power
+*   [[8.4](#8_4_power_consumption_accounting)/A-0-3] MUST report CPU power
 consumption per each process's UID. The Android Open Source Project meets the
 requirement through the `uid_cputime` kernel module implementation.
-*   [[8.4](#8_4_power-consumption-accounting)/A] SHOULD be attributed to the
+*   [[8.4](#8_4_power_consumption_accounting)/A] SHOULD be attributed to the
 hardware component itself if unable to attribute hardware component power usage
 to an application.
-*   [[8.4](#8_4_power-consumption-accounting)/A-0-4] MUST make this power usage
+*   [[8.4](#8_4_power_consumption_accounting)/A-0-4] MUST make this power usage
 available via the [`adb shell dumpsys batterystats`](
 http://source.android.com/devices/tech/power/batterystats.html)
 shell command to the app developer.
@@ -290,22 +290,22 @@
 
 If Automotive device implementations support multiple users, they:
 
-*   [[9.5](#9_5_multi-user-support)/A-1-1] MUST include a guest account that
+*   [[9.5](#9_5_multi_user_support)/A-1-1] MUST include a guest account that
 allows all functions provided by the vehicle system without requiring a user to
 log in.
 
 If Automotive device implementations support a secure lock screen, they:
 
-*   [[9.9](#9_9_full-disk-encryption).2/A-1-1] MUST support encryption per
+*   [[9.9](#9_9_full_disk_encryption).2/A-1-1] MUST support encryption per
 user-specific authentication keys. [File-Based Encryption (FBE)](
 https://source.android.com/security/encryption/file-based) is one way to do it.
 
 Automotive device implementations:
 
-*   [[9.14](#9_14_automotive-system-isolation)/A-0-1] MUST gatekeep messages
+*   [[9.14](#9_14_automotive_system_isolation)/A-0-1] MUST gatekeep messages
 from Android framework vehicle subsystems, e.g., whitelisting permitted message
 types and message sources.
-*   [[9.14](#9_14_automotive-system-isolation)/A-0-2] MUST watchdog against
+*   [[9.14](#9_14_automotive_system_isolation)/A-0-2] MUST watchdog against
 denial of service attacks from the Android framework or third-party apps. This
 guards against malicious software flooding the vehicle network with traffic,
-which may lead to malfunctioning vehicle subsystems.
\ No newline at end of file
+which may lead to malfunctioning vehicle subsystems.
diff --git a/2_device-types/2_6_tablet-reqs.md b/2_device-types/2_6_tablet-reqs.md
index ce910d1..c993ad0 100644
--- a/2_device-types/2_6_tablet-reqs.md
+++ b/2_device-types/2_6_tablet-reqs.md
@@ -17,7 +17,7 @@
 
 **Screen Size**
 
-*   [[7.1](#7_1_display-and-graphics).1.1/Tab-0-1] MUST have a screen in the range
+*   [[7.1](#7_1_display_and_graphics).1.1/Tab-0-1] MUST have a screen in the range
 of 7 to 18 inches.
 
 **Minimum Memory and Storage (Section 7.6.1)**
@@ -30,7 +30,7 @@
 If tablet device implementations include a USB port supporting peripheral
 mode, they:
 
-*   [[7.7.1](#7_7_usb)/Tab]MAY implement the Android Open Accessory (AOA) API.
+*   [[7.7.1](#7_7_usb)/Tab] MAY implement the Android Open Accessory (AOA) API.
 
 **Virtual Reality Mode (Section 7.9.1)**
 
diff --git a/3_software/3_1_managed-api-compatibility.md b/3_software/3_1_managed-api-compatibility.md
index 92eb603..5e7a27a 100644
--- a/3_software/3_1_managed-api-compatibility.md
+++ b/3_software/3_1_managed-api-compatibility.md
@@ -29,7 +29,7 @@
      defined as APIs in the android namespace decorated with the `@hidden`
      annotation but not with a `@SystemAPI` or `@TestApi`, as described in the
      [SDK documents](https://developer.android.com/preview/restrictions-non-sdk-interfaces)
-     and ship with each and every hidden API on the the same restricted lists as
+     and ship with each and every hidden API on the same restricted lists as
      provided via the light-greylist, dark-greylist, and blacklist files in the
      `prebuilts/runtime/appcompat/` path for the appropriate API level branch
      in the AOSP. However they:
@@ -66,4 +66,4 @@
     *    Declares in its manifest that it needs the library by setting the
     `android:name` attribute of `<uses-library>` to `org.apache.http.legacy`.
 
-The AOSP implementation meets these requirements.
\ No newline at end of file
+The AOSP implementation meets these requirements.
diff --git a/3_software/3_2_soft-api-compatibility.md b/3_software/3_2_soft-api-compatibility.md
index 169347b..08ec1b5 100644
--- a/3_software/3_2_soft-api-compatibility.md
+++ b/3_software/3_2_soft-api-compatibility.md
@@ -256,15 +256,15 @@
 service components with an intent handler, for all the public intent filter
 patterns defined by the following core android applications in AOSP:
 
-   *   Desk Clock
-   *   Browser
-   *   Calendar
-   *   Contacts
-   *   Gallery
-   *   GlobalSearch
-   *   Launcher
-   *   Music
-   *   Settings
+     *   Desk Clock
+     *   Browser
+     *   Calendar
+     *   Contacts
+     *   Gallery
+     *   GlobalSearch
+     *   Launcher
+     *   Music
+     *   Settings
 
 #### 3.2.3.2\. Intent Resolution
 
@@ -307,18 +307,18 @@
 user appropriate per-URI pattern overrides in the settings menu.
 *   MUST provide the user with per-app App Links controls in Settings as
 follows:
-    *   [C-0-6] The user MUST be able to override holistically the default app
-    links behavior for an app to be: always open, always ask, or never open,
-    which must apply to all candidate URI intent filters equally.
-    *   [C-0-7] The user MUST be able to see a list of the candidate URI intent
-    filters.
-    *   The device implementation MAY provide the user with the ability to
-    override specific candidate URI intent filters that were successfully
-    verified, on a per-intent filter basis.
-    *   [C-0-8] The device implementation MUST provide users with the ability to
-    view and override specific candidate URI intent filters if the device
-    implementation lets some candidate URI intent filters succeed
-    verification while some others can fail.
+      *   [C-0-6] The user MUST be able to override holistically the default app
+      links behavior for an app to be: always open, always ask, or never open,
+      which must apply to all candidate URI intent filters equally.
+      *   [C-0-7] The user MUST be able to see a list of the candidate URI intent
+      filters.
+      *   The device implementation MAY provide the user with the ability to
+      override specific candidate URI intent filters that were successfully
+      verified, on a per-intent filter basis.
+      *   [C-0-8] The device implementation MUST provide users with the ability to
+      view and override specific candidate URI intent filters if the device
+      implementation lets some candidate URI intent filters succeed
+      verification while some others can fail.
 
 #### 3.2.3.3\. Intent Namespaces
 
@@ -372,9 +372,9 @@
 https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_DEFAULT_DIALER)
 intent to show a dialog to allow the user to change the default Phone
 application.
-    *    MUST use the user-selected default Phone app's UI for incoming and
-    outgoing calls except for emergency calls, which would use the
-    preloaded Phone app.
+     *    MUST use the user-selected default Phone app's UI for incoming and
+     outgoing calls except for emergency calls, which would use the
+     preloaded Phone app.
 
 *   [C-2-3] MUST honor the [android.telecom.action.CHANGE_PHONE_ACCOUNTS](
 https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_PHONE_ACCOUNTS)
diff --git a/3_software/3_3_native-api-compatibility.md b/3_software/3_3_native-api-compatibility.md
index 5a8eb57..d0c9c9f 100644
--- a/3_software/3_3_native-api-compatibility.md
+++ b/3_software/3_3_native-api-compatibility.md
@@ -32,37 +32,37 @@
 *   [C-0-6] MUST report, via the above parameters, a subset of the following
     list of ABIs and MUST NOT report any ABI not on the list.
 
-    *   `armeabi`
-    *   `armeabi-v7a`
-    *   `arm64-v8a`
-    *   `x86`
-    *   `x86-64`
+     *   `armeabi`
+     *   `armeabi-v7a`
+     *   `arm64-v8a`
+     *   `x86`
+     *   `x86-64`
 *   [C-0-7] MUST make all the following libraries, providing native APIs,
     available to apps that include native code:
 
-    *   libaaudio.so (AAudio native audio support)
-    *   libandroid.so (native Android activity support)
-    *   libc (C library)
-    *   libcamera2ndk.so
-    *   libdl (dynamic linker)
-    *   libEGL.so (native OpenGL surface management)
-    *   libGLESv1\_CM.so (OpenGL ES 1.x)
-    *   libGLESv2.so (OpenGL ES 2.0)
-    *   libGLESv3.so (OpenGL ES 3.x)
-    *   libicui18n.so
-    *   libicuuc.so
-    *   libjnigraphics.so
-    *   liblog (Android logging)
-    *   libmediandk.so (native media APIs support)
-    *   libm (math library)
-    *   libneuralnetworks.so (Neural Networks API)
-    *   libOpenMAXAL.so (OpenMAX AL 1.0.1 support)
-    *   libOpenSLES.so (OpenSL ES 1.0.1 audio support)
-    *   libRS.so
-    *   libstdc++ (Minimal support for C++)
-    *   libvulkan.so (Vulkan)
-    *   libz (Zlib compression)
-    *   JNI interface
+     *   libaaudio.so (AAudio native audio support)
+     *   libandroid.so (native Android activity support)
+     *   libc (C library)
+     *   libcamera2ndk.so
+     *   libdl (dynamic linker)
+     *   libEGL.so (native OpenGL surface management)
+     *   libGLESv1\_CM.so (OpenGL ES 1.x)
+     *   libGLESv2.so (OpenGL ES 2.0)
+     *   libGLESv3.so (OpenGL ES 3.x)
+     *   libicui18n.so
+     *   libicuuc.so
+     *   libjnigraphics.so
+     *   liblog (Android logging)
+     *   libmediandk.so (native media APIs support)
+     *   libm (math library)
+     *   libneuralnetworks.so (Neural Networks API)
+     *   libOpenMAXAL.so (OpenMAX AL 1.0.1 support)
+     *   libOpenSLES.so (OpenSL ES 1.0.1 audio support)
+     *   libRS.so
+     *   libstdc++ (Minimal support for C++)
+     *   libvulkan.so (Vulkan)
+     *   libz (Zlib compression)
+     *   JNI interface
 
 *   [C-0-8] MUST NOT add or remove the public functions for the native libraries
     listed above.
@@ -118,4 +118,4 @@
 
 *    [C-2-3] MUST include support for the [Advanced SIMD](
      http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html)
-     (a.k.a. NEON) extension.
\ No newline at end of file
+     (a.k.a. NEON) extension.
diff --git a/3_software/3_8_user-interface-compatibility.md b/3_software/3_8_user-interface-compatibility.md
index 76c32c2..74ad322 100644
--- a/3_software/3_8_user-interface-compatibility.md
+++ b/3_software/3_8_user-interface-compatibility.md
@@ -389,7 +389,7 @@
     and provide the user with a settings menu to toggle the feature.
 *   SHOULD display highlight color, icon, screen title in recents.
 *   SHOULD display a closing affordance ("x") but MAY delay this until user interacts with screens.
-*   SHOULD implement a shortcut to switch easily to the previous activity
+*   SHOULD implement a shortcut to switch easily to the previous activity.
 *   SHOULD trigger the fast-switch action between the two most recently used
     apps, when the recents function key is tapped twice.
 *   SHOULD trigger the split-screen multiwindow-mode, if supported, when the
@@ -549,7 +549,7 @@
 *   [C-3-6] MUST allocate minimum width and height of 108 dp for the PIP window
     and minimum width of 240 dp and height of 135 dp for the PIP window when the
     `Configuration.uiMode` is configured as [`UI_MODE_TYPE_TELEVISION`](
-    https://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_TELEVISION)
+    https://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_TELEVISION).
 
 
 ### 3.8.15\. Display Cutout
@@ -572,4 +572,4 @@
 API as described in the SDK.
 *   [C-1-4] MUST report correct values for all cutout metrics defined in the
 [`DisplayCutout`](
-https://developer.android.com/reference/android/view/DisplayCutout) API.
\ No newline at end of file
+https://developer.android.com/reference/android/view/DisplayCutout) API.
diff --git a/3_software/3_9_device-administration.md b/3_software/3_9_device-administration.md
index f0d4a7b..9b66b25 100644
--- a/3_software/3_9_device-administration.md
+++ b/3_software/3_9_device-administration.md
@@ -3,7 +3,7 @@
 Android includes features that allow security-aware applications to perform
 device administration functions at the system level, such as enforcing password
 policies or performing remote wipe, through the
-[Android Device Administration API](http://developer.android.com/guide/topics/admin/device-admin.html)].
+[Android Device Administration API](http://developer.android.com/guide/topics/admin/device-admin.html).
 
 If device implementations implement the full range of [device administration](
 http://developer.android.com/guide/topics/admin/device-admin.html)
@@ -130,7 +130,7 @@
     *   The lock screen credentials of the managed profile MUST use the same
         credential storage and management mechanisms as the parent profile,
         as documented on the
-        [Android Open Source Project Site](http://source.android.com/security/authentication/index.html)
+        [Android Open Source Project Site](http://source.android.com/security/authentication/index.html).
     *   The DPC [password policies](https://developer.android.com/guide/topics/admin/device-admin.html#pwd)
         MUST apply to only the managed profile's lock screen credentials unless
         called upon the `DevicePolicyManager` instance returned by
@@ -149,4 +149,4 @@
     [`isLogoutEnabled`](
     https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isLogoutEnabled%28%29)
     returns `true`. The user affordance MUST be accessible from the lockscreen
-    without unlocking the device.
\ No newline at end of file
+    without unlocking the device.
diff --git a/5_multimedia/5_1_media-codecs.md b/5_multimedia/5_1_media-codecs.md
index ea34d0c..62573d7 100644
--- a/5_multimedia/5_1_media-codecs.md
+++ b/5_multimedia/5_1_media-codecs.md
@@ -47,7 +47,7 @@
 AAC DRC keys were introduced in API 21,and are:
 `KEY_AAC_DRC_ATTENUATION_FACTOR`, `KEY_AAC_DRC_BOOST_FACTOR`,
 `KEY_AAC_DRC_HEAVY_COMPRESSION`, `KEY_AAC_DRC_TARGET_REFERENCE_LEVEL` and
-`KEY_AAC_ENCODED_TARGET_LEVEL`
+`KEY_AAC_ENCODED_TARGET_LEVEL`.
 
 When decoding USAC audio, MPEG-D (ISO/IEC 23003-4):
 
@@ -112,10 +112,7 @@
     <td>Support for mono/stereo content with standard sampling rates from 7.35
     to 48 kHz.</td>
     <td>
-    <ul>
-    <li>MPEG-4 (.mp4, .m4a)</li>
-    <li>LATM/LOAS (.loas, .xhe)</li>
-    </ul>
+    MPEG-4 (.mp4, .m4a)
     </td>
  </tr>
  <tr>
@@ -271,7 +268,7 @@
 https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#FEATURE_IntraRefresh)
 class, they:
 
-*   [C-3-1]MUST support the refresh periods in the range of 10 - 60 frames and
+*   [C-3-1] MUST support the refresh periods in the range of 10 - 60 frames and
 accurately operate within 20% of configured refresh period.
 
 
diff --git a/5_multimedia/5_6_audio-latency.md b/5_multimedia/5_6_audio-latency.md
index 5e0699d..a1aefab 100644
--- a/5_multimedia/5_6_audio-latency.md
+++ b/5_multimedia/5_6_audio-latency.md
@@ -77,10 +77,10 @@
 If device implementations include `android.hardware.microphone`, they are
 STRONGLY RECOMMENDED to meet these input audio requirements:
 
-   *   [C-SR] Cold input latency of 100 milliseconds or less
-   *   [C-SR] Continuous input latency of 30 milliseconds or less
-   *   [C-SR] Continuous round-trip latency of 50 milliseconds or less
-   *   [C-SR] Minimize the cold input jitter
+   *   [C-SR] Cold input latency of 100 milliseconds or less.
+   *   [C-SR] Continuous input latency of 30 milliseconds or less.
+   *   [C-SR] Continuous round-trip latency of 50 milliseconds or less.
+   *   [C-SR] Minimize the cold input jitter.
    *   [C-SR] Limit the error in input timestamps, as returned by
 [AudioRecord.getTimestamp](https://developer.android.com/reference/android/media/AudioRecord.html#getTimestamp(android.media.AudioTimestamp,%20int))
 or `AAudioStream_getTimestamp`, to +/- 1 ms.
diff --git a/7_hardware-compatibility/7_1_display-and-graphics.md b/7_hardware-compatibility/7_1_display-and-graphics.md
index 3ab68d0..df060e9 100644
--- a/7_hardware-compatibility/7_1_display-and-graphics.md
+++ b/7_hardware-compatibility/7_1_display-and-graphics.md
@@ -57,7 +57,7 @@
 with rounded corners, they:
 
 *    [C-1-1] MUST ensure that the radius of the rounded corners is less than or
-equal to 32 dp.
+equal to 38 dp.
 *    SHOULD include user affordance to switch to the display mode with the
 rectangular corners.
 
@@ -284,7 +284,7 @@
     Vulkan native APIs , and conversely MUST NOT report extension strings
     that they do not correctly support.
 *   [C-1-7] MUST support the VK_KHR_surface, VK_KHR_android_surface, VK_KHR_swapchain,
-    and VK_KHR_incremental_present extensions
+    and VK_KHR_incremental_present extensions.
 
 If device implementations do not include support for Vulkan 1.0, they:
 
diff --git a/7_hardware-compatibility/7_2_input-devices.md b/7_hardware-compatibility/7_2_input-devices.md
index 664d7c5..05d53fc 100644
--- a/7_hardware-compatibility/7_2_input-devices.md
+++ b/7_hardware-compatibility/7_2_input-devices.md
@@ -91,7 +91,7 @@
 or gestures. This Menu function should be accessible unless hidden together with
 other navigation functions.
 
-If device implementations provide the [Assist function]((http://developer.android.com/reference/android/view/KeyEvent.html#`KEYCODE_ASSIST`),
+If device implementations provide the [Assist function](http://developer.android.com/reference/android/view/KeyEvent.html#`KEYCODE_ASSIST`),
 they:
 *    [C-4-1] MUST make the Assist function accessible with a single action
 (e.g. tap, double-click or gesture) when other navigation keys are accessible.
@@ -132,7 +132,7 @@
 *    [C-1-1] MUST report `TOUCHSCREEN_FINGER` for the [`Configuration.touchscreen`](https://developer.android.com/reference/android/content/res/Configuration.html#touchscreen)
      API field.
 *    [C-1-2] MUST report the `android.hardware.touchscreen` and
-     `android.hardware.faketouch` feature flags
+     `android.hardware.faketouch` feature flags.
 
 If device implementations include a touchscreen that can track more than
 a single touch, they:
@@ -211,6 +211,7 @@
 
 If device implementations declare the `android.hardware.gamepad` feature flag,
 they:
+
 *    [C-1-1] MUST have embed a controller or ship with a separate controller
 in the box, that would provide means to input all the events listed in the
 below tables.
diff --git a/7_hardware-compatibility/7_3_sensors.md b/7_hardware-compatibility/7_3_sensors.md
index b452eff..b8ac710 100644
--- a/7_hardware-compatibility/7_3_sensors.md
+++ b/7_hardware-compatibility/7_3_sensors.md
@@ -506,17 +506,17 @@
   https://developer.android.com/reference/android/hardware/Sensor.html#getHighestDirectReportRateLevel%28%29)
   API.
 * [C-3-2] MUST support at least one of the two sensor direct channel types
-  for all sensors that declare support for sensor direct channel
-  *   [`TYPE_HARDWARE_BUFFER`](https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_HARDWARE_BUFFER)
-  *   [`TYPE_MEMORY_FILE`](https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_MEMORY_FILE)
+  for all sensors that declare support for sensor direct channel.
+    *   [`TYPE_HARDWARE_BUFFER`](https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_HARDWARE_BUFFER)
+    *   [`TYPE_MEMORY_FILE`](https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_MEMORY_FILE)
 * SHOULD support event reporting through sensor direct channel for primary
   sensor (non-wakeup variant) of the following types:
-  *   `TYPE_ACCELEROMETER`
-  *   `TYPE_ACCELEROMETER_UNCALIBRATED`
-  *   `TYPE_GYROSCOPE`
-  *   `TYPE_GYROSCOPE_UNCALIBRATED`
-  *   `TYPE_MAGNETIC_FIELD`
-  *   `TYPE_MAGNETIC_FIELD_UNCALIBRATED`
+     *   `TYPE_ACCELEROMETER`
+     *   `TYPE_ACCELEROMETER_UNCALIBRATED`
+     *   `TYPE_GYROSCOPE`
+     *   `TYPE_GYROSCOPE_UNCALIBRATED`
+     *   `TYPE_MAGNETIC_FIELD`
+     *   `TYPE_MAGNETIC_FIELD_UNCALIBRATED`
 
 ### 7.3.10\. Biometric Sensors
 
diff --git a/7_hardware-compatibility/7_4_data-connectivity.md b/7_hardware-compatibility/7_4_data-connectivity.md
index a3e168f..746bb7d 100644
--- a/7_hardware-compatibility/7_4_data-connectivity.md
+++ b/7_hardware-compatibility/7_4_data-connectivity.md
@@ -79,7 +79,7 @@
     [`EXTRA_LOG_SELF_MANAGED_CALLS`](
     https://developer.android.com/reference/android/telecom/PhoneAccount.html#EXTRA_LOG_SELF_MANAGED_CALLS)
     extras key on its `PhoneAccount` to `true`.
-*   [C-SR] Are STRONGLY RECOMMENDED to handle the the audio headset's
+*   [C-SR] Are STRONGLY RECOMMENDED to handle the audio headset's
     `KEYCODE_MEDIA_PLAY_PAUSE` and `KEYCODE_HEADSETHOOK` events for the
     [`android.telecom`](https://developer.android.com/reference/android/telecom/package-summary.html)
     APIs as below:
@@ -89,7 +89,7 @@
         when a short press of the key event is detected during an incoming call.
     *   Call [`Connection.onReject()`](https://developer.android.com/reference/android/telecom/Connection.html#onReject%28%29)
         when a long press of the key event is detected during an incoming call.
-    *   Toggle the mute status of the [`CallAudioState`](https://developer.android.com/reference/android/telecom/CallAudioState.html)
+    *   Toggle the mute status of the [`CallAudioState`](https://developer.android.com/reference/android/telecom/CallAudioState.html).
 
 
 ### 7.4.2\. IEEE 802.11 (Wi-Fi)
@@ -407,8 +407,8 @@
     http://developer.android.com/reference/android/nfc/tech/NfcBarcode.html)
     products.
 
-(Note that publicly available links are not available for the JIS, ISO, and NFC
-Forum specifications cited above.)
+Note that publicly available links are not available for the JIS, ISO, and NFC
+Forum specifications cited above.
 
 Android includes support for NFC Host Card Emulation (HCE) mode.
 
@@ -543,4 +543,4 @@
 
 *   [C-1-1] MUST enumerate the available Secure Elements readers when
 [`android.se.omapi.SEService.getReaders()`](https://developer.android.com/reference/android/se/omapi/SEService#getReaders%28%29)
-method is called.
\ No newline at end of file
+method is called.
diff --git a/7_hardware-compatibility/7_9_virtual-reality.md b/7_hardware-compatibility/7_9_virtual-reality.md
index ff9deb2..0704d10 100644
--- a/7_hardware-compatibility/7_9_virtual-reality.md
+++ b/7_hardware-compatibility/7_9_virtual-reality.md
@@ -38,20 +38,20 @@
     [`GL_OVR_multiview2`](https://www.khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview2.txt),
     [`GL_OVR_multiview_multisampled_render_to_texture`](https://www.khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview_multisampled_render_to_texture.txt),
     [`GL_EXT_protected_textures`](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_protected_textures.txt),
-    [`GL_EXT_EGL_image_array`](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt),
-    [`GL_EXT_external_buffer`](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt),
     and expose the extensions in the list of available GL extensions.
-*   [C-1-24] MUST implement
+*   [C-SR] Are STRONGLY RECOMMENDED to implement
+    [`GL_EXT_external_buffer`](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt),
+    [`GL_EXT_EGL_image_array`](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt),
+    and expose the extensions in the list of available GL extensions.
+*   [C-SR] Are STRONGLY RECOMMENDED to support Vulkan 1.1.
+*   [C-SR] Are STRONGLY RECOMMENDED to implement
+    [`VK_ANDROID_external_memory_android_hardware_buffer`](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer),
+    [`VK_GOOGLE_display_timing`](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_GOOGLE_display_timing),
     [`VK_KHR_shared_presentable_image`](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_KHR_shared_presentable_image),
-    [`VK_GOOGLE_display_timing`](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_GOOGLE_display_timing)
-    and expose the extensions in the list of available Vulkan extensions.
-*   [C-1-25] MUST expose at least one Vulkan queue family that where `flags`
+    and expose it in the list of available Vulkan extensions.
+*   [C-SR] Are STRONGLY RECOMMENDED to expose at least one Vulkan queue family where `flags`
     contain both `VK_QUEUE_GRAPHICS_BIT` and `VK_QUEUE_COMPUTE_BIT`,
     and `queueCount` is at least 2.
-*   [SR] Are STRONGLY RECOMMENDED to support Vulkan 1.1.
-*   [SR] Are STRONGLY RECOMMENDED to implement
-    [`VK_ANDROID_external_memory_android_hardware_buffer`](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer)
-    and expose it in the list of available Vulkan extensions.
 *   [C-1-7] The GPU and display MUST be able to synchronize access to the shared
     front buffer such that alternating-eye rendering of VR content at 60fps with two
     render contexts will be displayed with no visible tearing artifacts.
@@ -60,8 +60,8 @@
     `AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA` and
     `AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT`
     as described in the NDK.
-*   [C-1-10] MUST implement support for `AHardwareBuffers` with more than one
-    layer and any combination of the usage flags
+*   [C-1-10] MUST implement support for `AHardwareBuffer`s with any
+    combination of the usage flags
     `AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT`,
     `AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE`,
     `AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT`
@@ -70,6 +70,8 @@
     `AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM`,
     `AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM`,
     `AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT`.
+*   [C-SR] Are STRONGLY RECOMMENDED to support the allocation of `AHardwareBuffer`s
+    with more than one layer and flags and formats specified in C-1-10.
 *   [C-1-11] MUST support H.264 decoding at least 3840 x 2160 at 30fps,
     compressed to an average of 40Mbps (equivalent to 4 instances of 
     1920 x1080 at 30 fps-10 Mbps or 2 instances of 1920 x 1080 at 60 fps-20 Mbps).
@@ -98,22 +100,22 @@
       * `TYPE_GYROSCOPE_UNCALIBRATED`
       * `TYPE_MAGNETIC_FIELD`
       * `TYPE_MAGNETIC_FIELD_UNCALIBRATED`
-*   [C-1-20] MUST support the
+*   [C-SR] Are STRONGLY RECOMMENDED to support the
     [`TYPE_HARDWARE_BUFFER`](https://developer.android.com/reference/android/hardware/SensorDirectChannel.html#TYPE_HARDWARE_BUFFER)
     direct channel type for all Direct Channel Types listed above.
 *   [C-1-21] MUST meet the gyroscope, accelerometer, and magnetometer related
     requirements for `android.hardware.hifi_sensors`, as specified in
     [section 7.3.9](#7_3_9_high_fidelity_sensors).
-*   [SR] Are STRONGLY RECOMMENDED to support the
+*   [C-SR] Are STRONGLY RECOMMENDED to support the
     `android.hardware.sensor.hifi_sensors` feature.
 *   [C-1-22] MUST have end-to-end motion to photon latency not higher than
     28 milliseconds.
-*   [SR] Are STRONGLY RECOMMENDED to have end-to-end motion to photon latency
+*   [C-SR] Are STRONGLY RECOMMENDED to have end-to-end motion to photon latency
     not higher than 20 milliseconds.
 *   [C-1-23] MUST have first-frame ratio, which is the ratio between the
     brightness of pixels on the first frame after a transition from black to
     white and the brightness of white pixels in steady state, of at least 85%.
-*   [SR] Are STRONGLY RECOMMENDED to have first-frame ratio of at least 90%.
+*   [C-SR] Are STRONGLY RECOMMENDED to have first-frame ratio of at least 90%.
 *   MAY provide an exclusive core to the foreground
     application and MAY support the `Process.getExclusiveCores` API to return
     the numbers of the cpu cores that are exclusive to the top foreground
diff --git a/9_security-model/9_10_device-integrity.md b/9_security-model/9_10_device-integrity.md
index 366b7bd..077514f 100644
--- a/9_security-model/9_10_device-integrity.md
+++ b/9_security-model/9_10_device-integrity.md
@@ -68,18 +68,6 @@
 repository, which can be integrated into the boot loader used for loading
 Android.
 
-If device implementations report the feature flag
-[`android.hardware.ram.normal`](
-https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_RAM_NORMAL)
-, they:
-
-*    [C-2-1] MUST support verified boot for device integrity.
-
-If a device implementation is already launched without supporting verified boot
-on an earlier version of Android, such a device can not add support for this
-feature with a system software update and thus are exempted from the
-requirement.
-
 Device implementations:
 
 *    [C-R] Are RECOMMENDED to support the [Android Protected Confirmation API](
@@ -95,4 +83,4 @@
 such a way that Android OS cannot block it without detection by the
 secure hardware.
 *    [C-3-3] MUST ensure that secure hardware takes full control of the touch
-screen.
+screen.
\ No newline at end of file
diff --git a/9_security-model/9_11_keys-and-credentials.md b/9_security-model/9_11_keys-and-credentials.md
index 7b314dc..ac91c15 100644
--- a/9_security-model/9_11_keys-and-credentials.md
+++ b/9_security-model/9_11_keys-and-credentials.md
@@ -60,9 +60,9 @@
 
 *    [C-SR] Are STRONGLY RECOMMENDED to set only one of the following as the primary authentication
 method:
-     *     A numerical PIN,
-     *     An alphanumerical password, or
-     *     A swipe pattern on a grid of exactly 3x3 dots.
+     *     A numerical PIN
+     *     An alphanumerical password
+     *     A swipe pattern on a grid of exactly 3x3 dots
 
 Note that the above authentication methods are referred as the recommended
 primary authentication methods in this document.
@@ -314,4 +314,4 @@
 security requirements or otherwise enable access to sensitive user data. The
 recommended way to implement IAR is to allow firmware updates only when the
 primary user password is provided via the IAuthSecret HAL. IAR will likely
-become a requirement in a future release.
\ No newline at end of file
+become a requirement in a future release.
diff --git a/9_security-model/9_1_permissions.md b/9_security-model/9_1_permissions.md
index 7e6610c..30bc5a9 100644
--- a/9_security-model/9_1_permissions.md
+++ b/9_security-model/9_1_permissions.md
@@ -33,10 +33,10 @@
      interfaces.
 *   [C-0-5] MUST NOT grant any runtime permissions to preinstalled
      apps unless:
-   *   the user's consent can be obtained before the application
-       uses it
-   *   the runtime permissions are associated with an intent pattern
-       for which the preinstalled application is set as the default handler
+     *   The user's consent can be obtained before the application
+         uses it.
+     *   The runtime permissions are associated with an intent pattern
+         for which the preinstalled application is set as the default handler.
 *   [C-0-6] MUST grant the `android.permission.RECOVER_KEYSTORE` permission
      only to system apps that register a properly secured Recovery Agent. A
      properly secured Recovery Agent is defined as an on-device software agent
diff --git a/9_security-model/9_7_security-features.md b/9_security-model/9_7_security-features.md
index 245f5b6..c7d743e 100644
--- a/9_security-model/9_7_security-features.md
+++ b/9_security-model/9_7_security-features.md
@@ -32,8 +32,9 @@
 Kernel integrity and self-protection features are integral to Android
 security. Device implementations:
 
-*   [C-0-7] MUST implement kernel stack buffer overflow protections
-(e.g. `CONFIG_CC_STACKPROTECTOR_STRONG`).
+*   [C-0-7] MUST implement kernel stack buffer overflow protection mechanisms.
+Examples of such mechanisms are `CC_STACKPROTECTOR_REGULAR` and
+`CONFIG_CC_STACKPROTECTOR_STRONG`.
 *   [C-0-8] MUST implement strict kernel memory protections where executable
 code is read-only, read-only data is non-executable and non-writable, and
 writable data is non-executable (e.g. `CONFIG_DEBUG_RODATA` or `CONFIG_STRICT_KERNEL_RWX`).
@@ -96,4 +97,4 @@
 *    [C-SR] Are STRONGLY RECOMMENDED to enable both CFI and IntSan for any
      additional security-sensitive userspace components as explained in
      [CFI](https://source.android.com/devices/tech/debug/cfi) and
-     [IntSan](https://source.android.com/de
\ No newline at end of file
+     [IntSan](https://source.android.com/devices/tech/debug/intsan).