[fidldoc] Updating fidldocs manually.

Import manually while the bot is broken (fxr/328232)

Using the following instructions extracted from the firebase-docs-sdk
input properties
https://luci-milo.appspot.com/p/fuchsia/builders/ci/firebase-docs-sdk/b8900033613640431952

cd ~/fuchsia
fx clean
fx set core.x64 --release --with //topaz/packages/sdk:topaz --with //tools/fidl/fidldoc
fx build
cd out/default
host-tools/fidldoc --verbose --path /reference/fidl/ --out ~/reference-docs/sdk/fidl `cat all_fidl_json.txt`

Fuchsia source from integration 76ac23f

** Patched with CL fxr/328032 that fixes documentation for enums.

Change-Id: Iffc6866aa24cc306c5c0fe25348cf38a350d5fb4
diff --git a/sdk/fidl/fuchsia.accessibility.semantics/index.md b/sdk/fidl/fuchsia.accessibility.semantics/index.md
index 83c0b19..b20239c 100644
--- a/sdk/fidl/fuchsia.accessibility.semantics/index.md
+++ b/sdk/fidl/fuchsia.accessibility.semantics/index.md
@@ -214,7 +214,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The default action associated with the role of an element.
+</td>
         </tr></table>
 
 ### Role {:#Role}
@@ -229,7 +230,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Role used to represent elements which role is not currently supported.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.auth/index.md b/sdk/fidl/fuchsia.auth/index.md
index b3258d4..b00de11 100644
--- a/sdk/fidl/fuchsia.auth/index.md
+++ b/sdk/fidl/fuchsia.auth/index.md
@@ -2708,15 +2708,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The command completed successfully
+</td>
         </tr><tr>
             <td><code>INVALID_ARGUMENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The command referred to a missing, or an invalid argument.
+</td>
         </tr><tr>
             <td><code>SIGNING_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> There was an error in generating crypto signatures for the given
+ plaintext. This usually indicates errors for misconfigured keys or
+ signature algorithms from the underlying crypto library.
+</td>
         </tr></table>
 
 ### AuthProviderStatus {:#AuthProviderStatus}
@@ -2805,15 +2810,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No information (either affirming or dissenting) is available about the
+ current presence or engagement of the account owner.
+</td>
         </tr><tr>
             <td><code>TEST_PRESENT</code></td>
             <td><code>10000</code></td>
-            <td></td>
+            <td> The account owner has been marked as present by some test or experimental
+ authentication mechanism. This state should not be used to grant access
+ to any sensitive user information.
+</td>
         </tr><tr>
             <td><code>TEST_ABSENT</code></td>
             <td><code>10001</code></td>
-            <td></td>
+            <td> The account owner has been marked as not-present by some test or
+ experimental authentication mechanism.
+</td>
         </tr></table>
 
 ### Status {:#Status}
@@ -2828,51 +2840,74 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The command completed successfully
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER_SERVICE_UNAVAILABLE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The command referred to a missing, misconfigured, or failed auth provider.
+ Retrying is not recommended.
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER_SERVER_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The auth server was reachable but responded with an error. These errors
+ are typically caused by a configuration problem or a revoked token and so
+ should not be retried.
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> An internal error occurred. This usually indicates a bug within the Token
+ Manager itself. Retry is optional.
+</td>
         </tr><tr>
             <td><code>INVALID_AUTH_CONTEXT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> An invalid or non-functional AuthContextProvider was provided. Retrying is
+ unlikely to correct this error.
+</td>
         </tr><tr>
             <td><code>INVALID_REQUEST</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The request was malformed in some way, such as using an empty string for
+ the user_profile_id. The request should not be retried.
+</td>
         </tr><tr>
             <td><code>USER_NOT_FOUND</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The requested user profile could not be found in the database. The request
+ should not be retried.
+</td>
         </tr><tr>
             <td><code>IO_ERROR</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A local error occurred such as disk I/O or memory allocation. Retry, after
+ a delay, is recommended.
+</td>
         </tr><tr>
             <td><code>UNKNOWN_ERROR</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Some other problem occurred that cannot be classified using one of the more
+ specific statuses. Retry is optional.
+</td>
         </tr><tr>
             <td><code>REAUTH_REQUIRED</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> The auth server requires that the user reauthenticate. The client should
+ call the Authorize method.
+</td>
         </tr><tr>
             <td><code>USER_CANCELLED</code></td>
             <td><code>10</code></td>
-            <td></td>
+            <td> The user cancelled the flow. User consent is required before any retry.
+</td>
         </tr><tr>
             <td><code>NETWORK_ERROR</code></td>
             <td><code>11</code></td>
-            <td></td>
+            <td> A network error occurred while communicating with the auth server. Retry,
+ after a delay, is recommended.
+</td>
         </tr></table>
 
 ### AttestationSignerStatus {:#AttestationSignerStatus}
@@ -2891,15 +2926,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The command completed successfully
+</td>
         </tr><tr>
             <td><code>INVALID_ARGUMENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The command referred to a missing, or an invalid argument.
+</td>
         </tr><tr>
             <td><code>SIGNING_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> There was an error in generating crypto signatures for the given
+ plaintext. This usually indicates errors for misconfigured keys or
+ signature algorithms from the underlying crypto library.
+</td>
         </tr></table>
 
 ### AuthProviderStatus {:#AuthProviderStatus}
@@ -2988,15 +3028,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No information (either affirming or dissenting) is available about the
+ current presence or engagement of the account owner.
+</td>
         </tr><tr>
             <td><code>TEST_PRESENT</code></td>
             <td><code>10000</code></td>
-            <td></td>
+            <td> The account owner has been marked as present by some test or experimental
+ authentication mechanism. This state should not be used to grant access
+ to any sensitive user information.
+</td>
         </tr><tr>
             <td><code>TEST_ABSENT</code></td>
             <td><code>10001</code></td>
-            <td></td>
+            <td> The account owner has been marked as not-present by some test or
+ experimental authentication mechanism.
+</td>
         </tr></table>
 
 ### Status {:#Status}
@@ -3011,51 +3058,74 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The command completed successfully
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER_SERVICE_UNAVAILABLE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The command referred to a missing, misconfigured, or failed auth provider.
+ Retrying is not recommended.
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER_SERVER_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The auth server was reachable but responded with an error. These errors
+ are typically caused by a configuration problem or a revoked token and so
+ should not be retried.
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> An internal error occurred. This usually indicates a bug within the Token
+ Manager itself. Retry is optional.
+</td>
         </tr><tr>
             <td><code>INVALID_AUTH_CONTEXT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> An invalid or non-functional AuthContextProvider was provided. Retrying is
+ unlikely to correct this error.
+</td>
         </tr><tr>
             <td><code>INVALID_REQUEST</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The request was malformed in some way, such as using an empty string for
+ the user_profile_id. The request should not be retried.
+</td>
         </tr><tr>
             <td><code>USER_NOT_FOUND</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The requested user profile could not be found in the database. The request
+ should not be retried.
+</td>
         </tr><tr>
             <td><code>IO_ERROR</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A local error occurred such as disk I/O or memory allocation. Retry, after
+ a delay, is recommended.
+</td>
         </tr><tr>
             <td><code>UNKNOWN_ERROR</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Some other problem occurred that cannot be classified using one of the more
+ specific statuses. Retry is optional.
+</td>
         </tr><tr>
             <td><code>REAUTH_REQUIRED</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> The auth server requires that the user reauthenticate. The client should
+ call the Authorize method.
+</td>
         </tr><tr>
             <td><code>USER_CANCELLED</code></td>
             <td><code>10</code></td>
-            <td></td>
+            <td> The user cancelled the flow. User consent is required before any retry.
+</td>
         </tr><tr>
             <td><code>NETWORK_ERROR</code></td>
             <td><code>11</code></td>
-            <td></td>
+            <td> A network error occurred while communicating with the auth server. Retry,
+ after a delay, is recommended.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth.avdtp/index.md b/sdk/fidl/fuchsia.bluetooth.avdtp/index.md
index 8849ceb..9c050b7 100644
--- a/sdk/fidl/fuchsia.bluetooth.avdtp/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.avdtp/index.md
@@ -394,11 +394,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN_FAILURE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Failure reason is not known
+</td>
         </tr><tr>
             <td><code>PROTOCOL_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The peer is unable to perform the request
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth.bredr/index.md b/sdk/fidl/fuchsia.bluetooth.bredr/index.md
index a05e264..2396238 100644
--- a/sdk/fidl/fuchsia.bluetooth.bredr/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.bredr/index.md
@@ -604,7 +604,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SerialPort</code></td>
             <td><code>4353</code></td>
-            <td></td>
+            <td> ServiceDiscoveryService and BrowseGroupDescriptorService used by Fuchsia
+</td>
         </tr><tr>
             <td><code>DialupNetworking</code></td>
             <td><code>4355</code></td>
@@ -620,7 +621,8 @@
         </tr><tr>
             <td><code>Headset</code></td>
             <td><code>4360</code></td>
-            <td></td>
+            <td> Headset Profile (HSP)
+</td>
         </tr><tr>
             <td><code>HeadsetAudioGateway</code></td>
             <td><code>4370</code></td>
@@ -632,7 +634,8 @@
         </tr><tr>
             <td><code>AudioSource</code></td>
             <td><code>4362</code></td>
-            <td></td>
+            <td> Advanced Audio Distribution Profile (A2DP)
+</td>
         </tr><tr>
             <td><code>AudioSink</code></td>
             <td><code>4363</code></td>
@@ -644,7 +647,8 @@
         </tr><tr>
             <td><code>AVRemoteControlTarget</code></td>
             <td><code>4364</code></td>
-            <td></td>
+            <td> Audio/Video Remote Control Profil (AVRCP)
+</td>
         </tr><tr>
             <td><code>AVRemoteControl</code></td>
             <td><code>4366</code></td>
@@ -656,7 +660,8 @@
         </tr><tr>
             <td><code>PANU</code></td>
             <td><code>4373</code></td>
-            <td></td>
+            <td> Personal Area Networking (PAN)
+</td>
         </tr><tr>
             <td><code>NAP</code></td>
             <td><code>4374</code></td>
@@ -668,7 +673,9 @@
         </tr><tr>
             <td><code>Handsfree</code></td>
             <td><code>4382</code></td>
-            <td></td>
+            <td> Basic Printing and Basic Imaging Profiles omitted (unsupported)
+ Hands-Free Profile (HFP)
+</td>
         </tr><tr>
             <td><code>HandsfreeAudioGateway</code></td>
             <td><code>4383</code></td>
@@ -676,11 +683,13 @@
         </tr><tr>
             <td><code>SIM_Access</code></td>
             <td><code>4397</code></td>
-            <td></td>
+            <td> Human Interface Device and Hardcopy Cable Replacement Profile omitted (unsupported)
+</td>
         </tr><tr>
             <td><code>PhonebookPCE</code></td>
             <td><code>4398</code></td>
-            <td></td>
+            <td> Phonebook Access Profile (PBAP)
+</td>
         </tr><tr>
             <td><code>PhonebookPSE</code></td>
             <td><code>4399</code></td>
@@ -692,7 +701,8 @@
         </tr><tr>
             <td><code>MessageAccessServer</code></td>
             <td><code>4402</code></td>
-            <td></td>
+            <td> Message Access Profile (MAP)
+</td>
         </tr><tr>
             <td><code>MessageNotificationServer</code></td>
             <td><code>4403</code></td>
@@ -704,7 +714,9 @@
         </tr><tr>
             <td><code>MPSProfile</code></td>
             <td><code>4410</code></td>
-            <td></td>
+            <td> GNSS and 3DSP omitted (unsupported)
+ Multi-Profile Specification (MPS)
+</td>
         </tr><tr>
             <td><code>MPSClass</code></td>
             <td><code>4411</code></td>
@@ -712,7 +724,10 @@
         </tr><tr>
             <td><code>VideoSource</code></td>
             <td><code>4867</code></td>
-            <td></td>
+            <td> Calendar, Task, and Notes Profile omitted (unsupported)
+ Device ID used by Fuchsia
+ Video Distribution Profile (VDP)
+</td>
         </tr><tr>
             <td><code>VideoSink</code></td>
             <td><code>4868</code></td>
@@ -724,7 +739,8 @@
         </tr><tr>
             <td><code>HDP</code></td>
             <td><code>5120</code></td>
-            <td></td>
+            <td> Health Device Profile (HDP)
+</td>
         </tr><tr>
             <td><code>HDPSource</code></td>
             <td><code>5121</code></td>
diff --git a/sdk/fidl/fuchsia.bluetooth.control/index.md b/sdk/fidl/fuchsia.bluetooth.control/index.md
index a6bfbab..882fc96 100644
--- a/sdk/fidl/fuchsia.bluetooth.control/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.control/index.md
@@ -2235,19 +2235,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CONSENT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The user is asked to accept or reject pairing.
+</td>
         </tr><tr>
             <td><code>PASSKEY_DISPLAY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which they must enter on the
+ peer device.
+</td>
         </tr><tr>
             <td><code>PASSKEY_COMPARISON</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which will also shown on the
+ peer device. The user must compare the passkeys and accept the pairing if
+ the passkeys match.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTRY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user is asked to enter a 6-digit passkey.
+</td>
         </tr></table>
 
 ### PairingKeypressType {:#PairingKeypressType}
@@ -2261,19 +2268,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DIGIT_ENTERED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The user has entered a single digit.
+</td>
         </tr><tr>
             <td><code>DIGIT_ERASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user has erased a single digit.
+</td>
         </tr><tr>
             <td><code>PASSKEY_CLEARED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user has cleared the entire passkey.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTERED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user has finished entering the passkey.
+</td>
         </tr></table>
 
 ### Appearance {:#Appearance}
@@ -2602,19 +2613,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CONSENT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The user is asked to accept or reject pairing.
+</td>
         </tr><tr>
             <td><code>PASSKEY_DISPLAY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which they must enter on the
+ peer device.
+</td>
         </tr><tr>
             <td><code>PASSKEY_COMPARISON</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which will also shown on the
+ peer device. The user must compare the passkeys and accept the pairing if
+ the passkeys match.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTRY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user is asked to enter a 6-digit passkey.
+</td>
         </tr></table>
 
 ### PairingKeypressType {:#PairingKeypressType}
@@ -2628,19 +2646,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DIGIT_ENTERED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The user has entered a single digit.
+</td>
         </tr><tr>
             <td><code>DIGIT_ERASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user has erased a single digit.
+</td>
         </tr><tr>
             <td><code>PASSKEY_CLEARED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user has cleared the entire passkey.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTERED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user has finished entering the passkey.
+</td>
         </tr></table>
 
 ### Appearance {:#Appearance}
diff --git a/sdk/fidl/fuchsia.bluetooth.gatt/index.md b/sdk/fidl/fuchsia.bluetooth.gatt/index.md
index 6c00788..3556650 100644
--- a/sdk/fidl/fuchsia.bluetooth.gatt/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.gatt/index.md
@@ -2035,19 +2035,25 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NO_ERROR</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Indicates that the operation was successful.
+</td>
         </tr><tr>
             <td><code>INVALID_OFFSET</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Indicates that the offset used in a read or write request exceeds the
+ bounds of the value.
+</td>
         </tr><tr>
             <td><code>INVALID_VALUE_LENGTH</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Indicates that the value given in a write request would exceed the maximum
+ length allowed for the destionation characteristic or descriptor.
+</td>
         </tr><tr>
             <td><code>NOT_PERMITTED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Indicates that a read or write request is not permitted.
+</td>
         </tr></table>
 
 ### ErrorCode {:#ErrorCode}
@@ -2063,19 +2069,25 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NO_ERROR</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Indicates that the operation was successful.
+</td>
         </tr><tr>
             <td><code>INVALID_OFFSET</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Indicates that the offset used in a read or write request exceeds the
+ bounds of the value.
+</td>
         </tr><tr>
             <td><code>INVALID_VALUE_LENGTH</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Indicates that the value given in a write request would exceed the maximum
+ length allowed for the destionation characteristic or descriptor.
+</td>
         </tr><tr>
             <td><code>NOT_PERMITTED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Indicates that a read or write request is not permitted.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth.le/index.md b/sdk/fidl/fuchsia.bluetooth.le/index.md
index 4151a22..b223cfb 100644
--- a/sdk/fidl/fuchsia.bluetooth.le/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.le/index.md
@@ -1559,27 +1559,34 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NOT_SUPPORTED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The operation or parameters requested are not supported on the current hardware.
+</td>
         </tr><tr>
             <td><code>ADVERTISING_DATA_TOO_LONG</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The provided advertising data exceeds the maximum allowed length when encoded.
+</td>
         </tr><tr>
             <td><code>SCAN_RESPONSE_DATA_TOO_LONG</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The provided scan response data exceeds the maximum allowed length when encoded.
+</td>
         </tr><tr>
             <td><code>INVALID_PARAMETERS</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The requested parameters are invalid.
+</td>
         </tr><tr>
             <td><code>ABORTED</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The request to start advertising was aborted, for example by issuing a new request with new
+ parameters.
+</td>
         </tr><tr>
             <td><code>FAILED</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> Advertising could not be initiated due to a hardware or system error.
+</td>
         </tr></table>
 
 ### AdvertisingModeHint {:#AdvertisingModeHint}
@@ -1600,15 +1607,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>VERY_FAST</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Advertise with a very short interval and window for fast discovery at the cost of higher
+ power consumption. This corresponds to a 30-60ms interval on the 1M PHYs and 90-180ms on the
+ coded PHY.
+</td>
         </tr><tr>
             <td><code>FAST</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Advertise with a short interval and window that uses less power than `VERY_FAST`.
+ This corresponds to a 100-150ms interval on the 1M PHYs and 300-450ms on the coded PHY.
+</td>
         </tr><tr>
             <td><code>SLOW</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Advertise with a moderate interval and window. This corresponds to 1-1.2s on the 1M PHYs and 3s
+ on the coded PHY.
+</td>
         </tr></table>
 
 ### PeripheralError {:#PeripheralError}
@@ -1622,27 +1636,34 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NOT_SUPPORTED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The operation or parameters requested are not supported on the current hardware.
+</td>
         </tr><tr>
             <td><code>ADVERTISING_DATA_TOO_LONG</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The provided advertising data exceeds the maximum allowed length when encoded.
+</td>
         </tr><tr>
             <td><code>SCAN_RESPONSE_DATA_TOO_LONG</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The provided scan response data exceeds the maximum allowed length when encoded.
+</td>
         </tr><tr>
             <td><code>INVALID_PARAMETERS</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The requested parameters are invalid.
+</td>
         </tr><tr>
             <td><code>ABORTED</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The request to start advertising was aborted, for example by issuing a new request with new
+ parameters.
+</td>
         </tr><tr>
             <td><code>FAILED</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> Advertising could not be initiated due to a hardware or system error.
+</td>
         </tr></table>
 
 ### AdvertisingModeHint {:#AdvertisingModeHint}
@@ -1663,15 +1684,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>VERY_FAST</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Advertise with a very short interval and window for fast discovery at the cost of higher
+ power consumption. This corresponds to a 30-60ms interval on the 1M PHYs and 90-180ms on the
+ coded PHY.
+</td>
         </tr><tr>
             <td><code>FAST</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Advertise with a short interval and window that uses less power than `VERY_FAST`.
+ This corresponds to a 100-150ms interval on the 1M PHYs and 300-450ms on the coded PHY.
+</td>
         </tr><tr>
             <td><code>SLOW</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Advertise with a moderate interval and window. This corresponds to 1-1.2s on the 1M PHYs and 3s
+ on the coded PHY.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth.snoop/index.md b/sdk/fidl/fuchsia.bluetooth.snoop/index.md
index 33df69a..e07a889 100644
--- a/sdk/fidl/fuchsia.bluetooth.snoop/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.snoop/index.md
@@ -181,15 +181,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CMD</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Command sent from the host to the controller.
+</td>
         </tr><tr>
             <td><code>EVENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Event sent from the controller to the host.
+</td>
         </tr><tr>
             <td><code>DATA</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Data sent from the controller to the host.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth.sys/index.md b/sdk/fidl/fuchsia.bluetooth.sys/index.md
index 3d727db..0d3ae9c 100644
--- a/sdk/fidl/fuchsia.bluetooth.sys/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.sys/index.md
@@ -763,11 +763,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FAILED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Operation could not be performed.
+</td>
         </tr><tr>
             <td><code>PEER_NOT_FOUND</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The peer designated for the operation was not found.
+</td>
         </tr></table>
 
 ### BootstrapError {:#BootstrapError}
@@ -839,19 +841,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CONSENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user is asked to accept or reject pairing.
+</td>
         </tr><tr>
             <td><code>PASSKEY_DISPLAY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which they must enter on the
+ peer device.
+</td>
         </tr><tr>
             <td><code>PASSKEY_COMPARISON</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user is shown a 6-digit numerical passkey which will also shown on the
+ peer device. The user must compare the passkeys and accept the pairing if
+ the passkeys match.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTRY</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The user is asked to enter a 6-digit passkey.
+</td>
         </tr></table>
 
 ### PairingKeypress {:#PairingKeypress}
@@ -865,19 +874,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DIGIT_ENTERED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The user has entered a single digit.
+</td>
         </tr><tr>
             <td><code>DIGIT_ERASED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The user has erased a single digit.
+</td>
         </tr><tr>
             <td><code>PASSKEY_CLEARED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The user has cleared the entire passkey.
+</td>
         </tr><tr>
             <td><code>PASSKEY_ENTERED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The user has finished entering the passkey.
+</td>
         </tr></table>
 
 ### TechnologyType {:#TechnologyType}
diff --git a/sdk/fidl/fuchsia.bluetooth.test/index.md b/sdk/fidl/fuchsia.bluetooth.test/index.md
index 9338b52..4c8efec 100644
--- a/sdk/fidl/fuchsia.bluetooth.test/index.md
+++ b/sdk/fidl/fuchsia.bluetooth.test/index.md
@@ -397,11 +397,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DUAL_MODE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Support both BR/EDR and LE in LMP features.
+</td>
         </tr><tr>
             <td><code>LE_ONLY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Limits supported features and HCI commands to those that are required for LE only.
+</td>
         </tr></table>
 
 ### ConnectionState {:#ConnectionState}
@@ -722,23 +724,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ADV_IND</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Connectable and scannable.
+</td>
         </tr><tr>
             <td><code>ADV_DIRECT_IND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Connectable, high-duty cycle, directed.
+</td>
         </tr><tr>
             <td><code>ADV_SCAN_IND</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Scannable, undirected.
+</td>
         </tr><tr>
             <td><code>ADV_NONCONN_IND</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Non-connectable, undirected
+</td>
         </tr><tr>
             <td><code>SCAN_RSP</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Scan response
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.bluetooth/index.md b/sdk/fidl/fuchsia.bluetooth/index.md
index bf9949d..48f0f9f 100644
--- a/sdk/fidl/fuchsia.bluetooth/index.md
+++ b/sdk/fidl/fuchsia.bluetooth/index.md
@@ -457,11 +457,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PUBLIC</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> LE public device address or `BR/EDR` `BD_ADDR`.
+</td>
         </tr><tr>
             <td><code>RANDOM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> LE private or static random device address.
+</td>
         </tr></table>
 
 ### Appearance {:#Appearance}
@@ -704,11 +706,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LEADER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The role of the device that defines the piconet physical channel in BR/EDR or the
+ "initiating" device in LE.
+</td>
         </tr><tr>
             <td><code>FOLLOWER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The role of a device that synchronizes to the piconet physical channel in BR/EDR or the
+ "advertising" device in LE.
+</td>
         </tr></table>
 
 ### ErrorCode {:#ErrorCode}
@@ -782,11 +788,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PUBLIC</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> LE public device address or `BR/EDR` `BD_ADDR`.
+</td>
         </tr><tr>
             <td><code>RANDOM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> LE private or static random device address.
+</td>
         </tr></table>
 
 ### Appearance {:#Appearance}
@@ -1029,11 +1037,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LEADER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The role of the device that defines the piconet physical channel in BR/EDR or the
+ "initiating" device in LE.
+</td>
         </tr><tr>
             <td><code>FOLLOWER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The role of a device that synchronizes to the piconet physical channel in BR/EDR or the
+ "advertising" device in LE.
+</td>
         </tr></table>
 
 ### ErrorCode {:#ErrorCode}
diff --git a/sdk/fidl/fuchsia.camera.common/index.md b/sdk/fidl/fuchsia.camera.common/index.md
index 8402092..434e718 100644
--- a/sdk/fidl/fuchsia.camera.common/index.md
+++ b/sdk/fidl/fuchsia.camera.common/index.md
@@ -674,11 +674,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 ### FrameStatus {:#FrameStatus}
@@ -697,11 +701,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.camera/index.md b/sdk/fidl/fuchsia.camera/index.md
index a3d592b..82d44bc 100644
--- a/sdk/fidl/fuchsia.camera/index.md
+++ b/sdk/fidl/fuchsia.camera/index.md
@@ -1104,11 +1104,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 ### FrameStatus {:#FrameStatus}
@@ -1127,11 +1131,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.camera2/index.md b/sdk/fidl/fuchsia.camera2/index.md
index be72bc8..1b8d97c 100644
--- a/sdk/fidl/fuchsia.camera2/index.md
+++ b/sdk/fidl/fuchsia.camera2/index.md
@@ -902,11 +902,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 ### DeviceType {:#DeviceType}
@@ -943,11 +947,15 @@
         </tr><tr>
             <td><code>ERROR_FRAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An error occurred during the production of a frame.
+ No data will be available in the data buffer corresponding to this
+ notification.
+</td>
         </tr><tr>
             <td><code>ERROR_BUFFER_FULL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> No space was available in the data buffer, resulting in a dropped frame.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.castauth/index.md b/sdk/fidl/fuchsia.castauth/index.md
index ea1984a..b381c06 100644
--- a/sdk/fidl/fuchsia.castauth/index.md
+++ b/sdk/fidl/fuchsia.castauth/index.md
@@ -122,11 +122,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FILE_NOT_FOUND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Key/cert not found in storage.
+</td>
         </tr><tr>
             <td><code>CRYPTO_ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Error occurred during signing operation.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.castconfig/index.md b/sdk/fidl/fuchsia.castconfig/index.md
index 67daa81..bb3b70f 100644
--- a/sdk/fidl/fuchsia.castconfig/index.md
+++ b/sdk/fidl/fuchsia.castconfig/index.md
@@ -102,11 +102,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NO_CAST_CONFIG</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Error when there is no cast config available.
+</td>
         </tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Generic error.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.castsetup/index.md b/sdk/fidl/fuchsia.castsetup/index.md
index 94431bb..fcc6d27 100644
--- a/sdk/fidl/fuchsia.castsetup/index.md
+++ b/sdk/fidl/fuchsia.castsetup/index.md
@@ -50,19 +50,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> State is not determined.
+</td>
         </tr><tr>
             <td><code>IN_PROGRESS</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Setup is not complete and is in progress.
+</td>
         </tr><tr>
             <td><code>OFFLINE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Configured once but disconnected for now.
+</td>
         </tr><tr>
             <td><code>COMPLETE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Setup is complete and device is connected.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.castsysteminfo/index.md b/sdk/fidl/fuchsia.castsysteminfo/index.md
index 327d49b..ce5c659 100644
--- a/sdk/fidl/fuchsia.castsysteminfo/index.md
+++ b/sdk/fidl/fuchsia.castsysteminfo/index.md
@@ -70,11 +70,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ERR_NO_SYSTEM_INFO</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Error when there is no system info available.
+</td>
         </tr><tr>
             <td><code>ERR_INTERNAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Generic error.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.device/index.md b/sdk/fidl/fuchsia.device/index.md
index ca19931..fe7e956 100644
--- a/sdk/fidl/fuchsia.device/index.md
+++ b/sdk/fidl/fuchsia.device/index.md
@@ -612,23 +612,59 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEVICE_POWER_STATE_D0</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Mandatory Working state. Device is fully functional, can take I/O,
+ issue interrrupts. This state is mandatory for all devices
+ The device enters into this state by default, when powered on.
+</td>
         </tr><tr>
             <td><code>DEVICE_POWER_STATE_D1</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> [OPTIONAL] Device is not working when in this state. It cannot process
+ I/O nor issue interrupts, unless it is armed for some special interrupts
+ that can wake up the system/device. When in this state, the restore time
+ of getting back to working state is less than other low-power states
+ Power savings in this state are lesser than other low power states.
+ Device may retain some hardware context and full initialization
+ may not be needed when resuming from this state.
+</td>
         </tr><tr>
             <td><code>DEVICE_POWER_STATE_D2</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> [OPTIONAL] Device is not working when in this state. It cannot process
+ I/O nor issue interrupts, unless it is armed for some special interrupts
+ that can wake up the system/device. When in this state, the restore time
+ of getting back to working state is more than DEVICE_POWER_STATE_D1 and
+ less than restore time of getting back from DEVICE_POWER_STATE_D3HOT,
+ DEVICE_POWER_STATE_D3COLD. Power savings in this state are lesser
+ than DEVICE_POWER_STATE_D3COLD, DEVICE_POWER_STATE_D3HOT.
+ Device may retain some hardware context and full initialization
+ may not be needed when resuming from this state.
+</td>
         </tr><tr>
             <td><code>DEVICE_POWER_STATE_D3HOT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> [OPTIONAL] Device is not working when in this state. It cannot process
+ I/O nor issue interrupts, unless it is armed for some special interrupts
+ that can wake up the system/device. When in this state, the restore time
+ of getting back to working state is more than DEVICE_POWER_STATE_D1,
+ DEVICE_POWER_STATE_D3HOT and less than restore time of getting back from
+ DEVICE_POWER_STATE_D3COLD. Power savings in this state are lesser
+ than DEVICE_POWER_STATE_D3COLD. Device has no context and full initialization
+ by the device driver when resuming from this state.
+ Although the device is completely off, it is still powered on and is enumerable.
+</td>
         </tr><tr>
             <td><code>DEVICE_POWER_STATE_D3COLD</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> [MANDATORY] Device is not working when in this state. It cannot process
+ I/O nor issue interrupts, unless it is armed for some special interrupts
+ that can wake up the system/device. When in this state, the restore time
+ of getting back to working state is more than all other low power states.
+ Power savings are more compared to all other low-power states.
+ Device has no context and full initialization by the device driver when
+ resuming from this state. In this state, the power to this device is turned off.
+ Device may be powered by other auxiliary supplies to support wake capability.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.fonts/index.md b/sdk/fidl/fuchsia.fonts/index.md
index ec8bc54..8ea08be 100644
--- a/sdk/fidl/fuchsia.fonts/index.md
+++ b/sdk/fidl/fuchsia.fonts/index.md
@@ -445,15 +445,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UPRIGHT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The default; upright glyphs.
+</td>
         </tr><tr>
             <td><code>ITALIC</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Specially designed, slanted and slightly calligraphic glyphs.
+</td>
         </tr><tr>
             <td><code>OBLIQUE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Skewed glyphs. Oblique usually means an geometric transformation of the upright variant,
+ rather than a custom-designed variant.
+</td>
         </tr></table>
 
 ### Width {:#Width}
@@ -470,39 +474,48 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ULTRA_CONDENSED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> 50% of normal width
+</td>
         </tr><tr>
             <td><code>EXTRA_CONDENSED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> 62.5% of normal width
+</td>
         </tr><tr>
             <td><code>CONDENSED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> 75% of normal width
+</td>
         </tr><tr>
             <td><code>SEMI_CONDENSED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> 87.5% of normal width
+</td>
         </tr><tr>
             <td><code>NORMAL</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Normal width
+</td>
         </tr><tr>
             <td><code>SEMI_EXPANDED</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> 112.5% of normal width
+</td>
         </tr><tr>
             <td><code>EXPANDED</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> 125% of normal width
+</td>
         </tr><tr>
             <td><code>EXTRA_EXPANDED</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> 150% of normal width
+</td>
         </tr><tr>
             <td><code>ULTRA_EXPANDED</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> 200% of normal width
+</td>
         </tr></table>
 
 ### GenericFontFamily {:#GenericFontFamily}
@@ -527,39 +540,64 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SERIF</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Glyphs have little "serifs", hooks, or notches at the ends of most strokes.
+ Examples: Georgia, Noto Serif, Times New Roman.
+</td>
         </tr><tr>
             <td><code>SANS_SERIF</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Glyphs that have no serifs at the ends of most strokes.
+ Examples: Arial, Noto Sans, Roboto, Tahoma.
+</td>
         </tr><tr>
             <td><code>MONOSPACE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Fixed-width fonts.
+ Examples: Consolas, Courier New, Inconsolata.
+</td>
         </tr><tr>
             <td><code>CURSIVE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Handwritten or cursive fonts.
+ Examples: Brush Script, Comic Sans, Lucida Calligraphy.
+</td>
         </tr><tr>
             <td><code>FANTASY</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Decorative fonts.
+ Examples: Impact, Papyrus.
+</td>
         </tr><tr>
             <td><code>SYSTEM_UI</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The default user interface font on the target platform.
+ This is included for completeness with the CSS specification; font manifests should not
+ declare that a font belongs to the `SYSTEM_UI` generic family, but instead should declare a
+ more specific option (e.g. `SERIF` for Roboto).
+
+ Not commonly used.
+</td>
         </tr><tr>
             <td><code>EMOJI</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> Fonts that are used specifically for rendering emoji code points.
+ Examples: Noto Color Emoji.
+</td>
         </tr><tr>
             <td><code>MATH</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Fonts that are used primarily for rendering mathematical expressions.
+
+ Not commonly used.
+</td>
         </tr><tr>
             <td><code>FANGSONG</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> A group of Chinese fonts between serif and cursive, often used for official Chinese
+ Government documents.
+
+ Not commonly used.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.identity.account/index.md b/sdk/fidl/fuchsia.identity.account/index.md
index 5138f59..44e1b9a 100644
--- a/sdk/fidl/fuchsia.identity.account/index.md
+++ b/sdk/fidl/fuchsia.identity.account/index.md
@@ -1150,11 +1150,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>EPHEMERAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The account lives at the longest to the end of the power cycle it
+ was created in.
+</td>
         </tr><tr>
             <td><code>PERSISTENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The account lives on the device until it is removed.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -1169,39 +1172,60 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Some other problem occurred that cannot be classified using one of the
+ more specific statuses. Retry is optional.
+</td>
         </tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> An internal error occurred. This usually indicates a bug within the
+ account system itself. Retry is optional.
+</td>
         </tr><tr>
             <td><code>UNSUPPORTED_OPERATION</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The requested operation is not supported. This generally indicates that
+ implementation of a new feature is not yet complete. The request should
+ not be retried.
+</td>
         </tr><tr>
             <td><code>INVALID_REQUEST</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The request was malformed in some way, such as using an empty string for
+ auth_provider_type. The request should not be retried.
+</td>
         </tr><tr>
             <td><code>RESOURCE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> A local resource error occurred such as I/O, FIDL, or memory allocation
+ failure. Retry, after a delay, is recommended.
+</td>
         </tr><tr>
             <td><code>NETWORK</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> A network error occurred while communicating with an auth server.
+ Retry, after a delay, is recommended.
+</td>
         </tr><tr>
             <td><code>NOT_FOUND</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> The requested account or persona is not present on the current device.
+ The request should not be retried.
+</td>
         </tr><tr>
             <td><code>REMOVAL_IN_PROGRESS</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> The request cannot be processed due to an ongoing account or persona
+ removal. The removal is not guaranteed to suceed and so retry, after
+ a delay, is recommended.
+</td>
         </tr><tr>
             <td><code>FAILED_PRECONDITION</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> The server is not in the state required to perform the requested
+ operation. The request should not be retried unless the server state
+ has been corrected before the retry.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.images/index.md b/sdk/fidl/fuchsia.images/index.md
index 7494b8b..857c98f 100644
--- a/sdk/fidl/fuchsia.images/index.md
+++ b/sdk/fidl/fuchsia.images/index.md
@@ -1242,19 +1242,74 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BGRA_8</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> BGRA_8
+
+ A 32-bit four-component unsigned integer format.
+ Byte order: B, G, R, A (little-endian ARGB packed 32-bit word).
+ Equivalent to Skia `kBGRA_8888_SkColorType` color type.
+ Equivalent to Zircon `ARGB_8888` pixel format on little-endian arch.
+</td>
         </tr><tr>
             <td><code>YUY2</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> YUY2
+
+ 4:2:2 (2x down-sampled UV horizontally; full res UV vertically)
+
+ A 32-bit component that contains information for 2 pixels:
+ Byte order: Y1, U, Y2, V
+ Unpacks to 2 RGB pixels, where RGB1 = func(Y1, U, V)
+ and RGB2 = func(Y2, U, V)
+ Equivalent to YUV422
+</td>
         </tr><tr>
             <td><code>NV12</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> NV12
+
+ 4:2:0 (2x down-sampled UV in both directions)
+
+ Offset 0:
+ 8 bit per pixel Y plane with bytes YYY.
+ Offset height * stride:
+ 8 bit UV data interleaved bytes as UVUVUV.
+
+ Y plane has line stride >= width.
+
+ In this context, both width and height are required to be even.
+
+ The UV data is separated into "lines", with each "line" having same byte
+ width as a line of Y data, and same "line" stride as Y data's line stride.
+ The UV data has height / 2 "lines".
+
+ In converting to RGB, the UV data gets up-scaled by 2x in both directions
+ overall.  This comment is intentionally silent on exactly how UV up-scaling
+ phase/filtering/signal processing works, as it's a complicated topic that
+ can vary by implementation, typically trading off speed and quality of the
+ up-scaling.  See comments in relevant conversion code for approach taken
+ by any given convert path.  The precise relative phase of the UV data is
+ not presently conveyed.
+</td>
         </tr><tr>
             <td><code>YV12</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> YV12
+
+ Like I420, except with V and U swapped.
+
+ 4:2:0 (2x down-sampled UV in both directions)
+
+ Offset 0:
+ 8 bit per pixel Y plane with bytes YYY.
+ Offset height * stride:
+ 8 bit V data with uv_stride = stride / 2
+ Offset height * stride + uv_stride * height / 2:
+ 8 bit U data with uv_stride = stride / 2
+
+ Y plane has line stride >= width.
+
+ Both width and height are required to be even.
+</td>
         </tr></table>
 
 ### ColorSpace {:#ColorSpace}
@@ -1284,11 +1339,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LINEAR</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Pixels are packed linearly.
+ Equivalent to `VK_IMAGE_TILING_LINEAR`.
+</td>
         </tr><tr>
             <td><code>GPU_OPTIMAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Pixels are packed in a GPU-dependent optimal format.
+ Equivalent to `VK_IMAGE_TILING_OPTIMAL`.
+</td>
         </tr></table>
 
 ### AlphaFormat {:#AlphaFormat}
@@ -1303,15 +1362,21 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OPAQUE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Image is considered to be opaque.  Alpha channel is ignored.
+ Blend function is: src.RGB
+</td>
         </tr><tr>
             <td><code>PREMULTIPLIED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Color channels have been premultiplied by alpha.
+ Blend function is: src.RGB + (dest.RGB * (1 - src.A))
+</td>
         </tr><tr>
             <td><code>NON_PREMULTIPLIED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Color channels have not been premultiplied by alpha.
+ Blend function is: (src.RGB * src.A) + (dest.RGB * (1 - src.A))
+</td>
         </tr></table>
 
 ### Transform {:#Transform}
@@ -1325,19 +1390,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NORMAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Pixels are displayed normally.
+</td>
         </tr><tr>
             <td><code>FLIP_HORIZONTAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Pixels are mirrored left-right.
+</td>
         </tr><tr>
             <td><code>FLIP_VERTICAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Pixels are flipped vertically.
+</td>
         </tr><tr>
             <td><code>FLIP_VERTICAL_AND_HORIZONTAL</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Pixels are flipped vertically and mirrored left-right.
+</td>
         </tr></table>
 
 ### MemoryType {:#MemoryType}
@@ -1352,11 +1421,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>HOST_MEMORY</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> VMO is regular host CPU memory.
+</td>
         </tr><tr>
             <td><code>VK_DEVICE_MEMORY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> VMO can be imported as a VkDeviceMemory by calling VkAllocateMemory with a
+ VkImportMemoryFuchsiaHandleInfoKHR wrapped in a VkMemoryAllocateInfo.
+</td>
         </tr></table>
 
 ### PixelFormat {:#PixelFormat}
@@ -1371,19 +1443,74 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BGRA_8</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> BGRA_8
+
+ A 32-bit four-component unsigned integer format.
+ Byte order: B, G, R, A (little-endian ARGB packed 32-bit word).
+ Equivalent to Skia `kBGRA_8888_SkColorType` color type.
+ Equivalent to Zircon `ARGB_8888` pixel format on little-endian arch.
+</td>
         </tr><tr>
             <td><code>YUY2</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> YUY2
+
+ 4:2:2 (2x down-sampled UV horizontally; full res UV vertically)
+
+ A 32-bit component that contains information for 2 pixels:
+ Byte order: Y1, U, Y2, V
+ Unpacks to 2 RGB pixels, where RGB1 = func(Y1, U, V)
+ and RGB2 = func(Y2, U, V)
+ Equivalent to YUV422
+</td>
         </tr><tr>
             <td><code>NV12</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> NV12
+
+ 4:2:0 (2x down-sampled UV in both directions)
+
+ Offset 0:
+ 8 bit per pixel Y plane with bytes YYY.
+ Offset height * stride:
+ 8 bit UV data interleaved bytes as UVUVUV.
+
+ Y plane has line stride >= width.
+
+ In this context, both width and height are required to be even.
+
+ The UV data is separated into "lines", with each "line" having same byte
+ width as a line of Y data, and same "line" stride as Y data's line stride.
+ The UV data has height / 2 "lines".
+
+ In converting to RGB, the UV data gets up-scaled by 2x in both directions
+ overall.  This comment is intentionally silent on exactly how UV up-scaling
+ phase/filtering/signal processing works, as it's a complicated topic that
+ can vary by implementation, typically trading off speed and quality of the
+ up-scaling.  See comments in relevant conversion code for approach taken
+ by any given convert path.  The precise relative phase of the UV data is
+ not presently conveyed.
+</td>
         </tr><tr>
             <td><code>YV12</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> YV12
+
+ Like I420, except with V and U swapped.
+
+ 4:2:0 (2x down-sampled UV in both directions)
+
+ Offset 0:
+ 8 bit per pixel Y plane with bytes YYY.
+ Offset height * stride:
+ 8 bit V data with uv_stride = stride / 2
+ Offset height * stride + uv_stride * height / 2:
+ 8 bit U data with uv_stride = stride / 2
+
+ Y plane has line stride >= width.
+
+ Both width and height are required to be even.
+</td>
         </tr></table>
 
 ### ColorSpace {:#ColorSpace}
@@ -1413,11 +1540,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LINEAR</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Pixels are packed linearly.
+ Equivalent to `VK_IMAGE_TILING_LINEAR`.
+</td>
         </tr><tr>
             <td><code>GPU_OPTIMAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Pixels are packed in a GPU-dependent optimal format.
+ Equivalent to `VK_IMAGE_TILING_OPTIMAL`.
+</td>
         </tr></table>
 
 ### AlphaFormat {:#AlphaFormat}
@@ -1432,15 +1563,21 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OPAQUE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Image is considered to be opaque.  Alpha channel is ignored.
+ Blend function is: src.RGB
+</td>
         </tr><tr>
             <td><code>PREMULTIPLIED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Color channels have been premultiplied by alpha.
+ Blend function is: src.RGB + (dest.RGB * (1 - src.A))
+</td>
         </tr><tr>
             <td><code>NON_PREMULTIPLIED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Color channels have not been premultiplied by alpha.
+ Blend function is: (src.RGB * src.A) + (dest.RGB * (1 - src.A))
+</td>
         </tr></table>
 
 ### Transform {:#Transform}
@@ -1454,19 +1591,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NORMAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Pixels are displayed normally.
+</td>
         </tr><tr>
             <td><code>FLIP_HORIZONTAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Pixels are mirrored left-right.
+</td>
         </tr><tr>
             <td><code>FLIP_VERTICAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Pixels are flipped vertically.
+</td>
         </tr><tr>
             <td><code>FLIP_VERTICAL_AND_HORIZONTAL</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Pixels are flipped vertically and mirrored left-right.
+</td>
         </tr></table>
 
 ### MemoryType {:#MemoryType}
@@ -1481,11 +1622,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>HOST_MEMORY</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> VMO is regular host CPU memory.
+</td>
         </tr><tr>
             <td><code>VK_DEVICE_MEMORY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> VMO can be imported as a VkDeviceMemory by calling VkAllocateMemory with a
+ VkImportMemoryFuchsiaHandleInfoKHR wrapped in a VkMemoryAllocateInfo.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.io/index.md b/sdk/fidl/fuchsia.io/index.md
index 7d6f306..f3364fc 100644
--- a/sdk/fidl/fuchsia.io/index.md
+++ b/sdk/fidl/fuchsia.io/index.md
@@ -4666,15 +4666,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>START</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Seek from the start of the file.
+</td>
         </tr><tr>
             <td><code>CURRENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Seek from the current position in the file.
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Seek from the end of the file.
+</td>
         </tr></table>
 
 ### SeekOrigin {:#SeekOrigin}
@@ -4689,15 +4692,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>START</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Seek from the start of the file.
+</td>
         </tr><tr>
             <td><code>CURRENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Seek from the current position in the file.
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Seek from the end of the file.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.ledger/index.md b/sdk/fidl/fuchsia.ledger/index.md
index 88cf221..bdddcb0 100644
--- a/sdk/fidl/fuchsia.ledger/index.md
+++ b/sdk/fidl/fuchsia.ledger/index.md
@@ -3003,11 +3003,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NO_CONFLICTS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No conflict was observed when the callback was registered.
+</td>
         </tr><tr>
             <td><code>CONFLICTS_RESOLVED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Some conflicts were observed when the callback was registered, and all
+ have been resolved.
+</td>
         </tr></table>
 
 ### Priority {:#Priority}
@@ -3022,11 +3025,16 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>EAGER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> EAGER values will be downloaded with the commit and have the same
+ availability.
+</td>
         </tr><tr>
             <td><code>LAZY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> LAZY values will not be downloaded with their commit, but only on demand.
+ A LAZY value thus may not be available when requested, for example if the
+ device has no internet connection at request time.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -3090,15 +3098,27 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LAST_ONE_WINS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Last one wins. When 2 commits are merged, the resulting commit contains:
+  - all keys/values that do not conflict
+  - all keys/values of the commit with the biggest timestamp (or biggest
+    id, if the timestamps are the same)
+</td>
         </tr><tr>
             <td><code>AUTOMATIC_WITH_FALLBACK</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Commits are automatically merged when no key has been modified on both
+ sides. When a key has been modified by both commits, conflict resolution is
+ delegated to a user-provided `ConflictResolver` that is created by calling
+ `ConflictResolverFactory.NewConflictResolver`. A single `ConflictResolver`
+ is created for each page. When the `ConflictResolver` is disconnected, a
+ new one is requested.
+</td>
         </tr><tr>
             <td><code>CUSTOM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> All merges are resolved by a user-provided `ConflictResolver` as described
+ above, even when commits to be merged change a disjoined set of keys.
+</td>
         </tr></table>
 
 ### ValueSource {:#ValueSource}
@@ -3141,19 +3161,29 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>IDLE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> There are no pending operations.
+</td>
         </tr><tr>
             <td><code>PENDING</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> There are pending operations, but there is no syncing in progress. This
+ could be because of (possibly a combination of):
+  - waiting for better connectivity
+  - waiting due to internal policies (e.g. batching network requests,
+      waiting for a merge to happen before uploading)
+  - waiting to determine if synchronization is needed (e.g. during initial
+      setup)
+</td>
         </tr><tr>
             <td><code>IN_PROGRESS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Synchronization is in progress.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> An internal error occurred while trying to sync.
+</td>
         </tr></table>
 
 ### ConflictResolutionWaitStatus {:#ConflictResolutionWaitStatus}
@@ -3169,11 +3199,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NO_CONFLICTS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No conflict was observed when the callback was registered.
+</td>
         </tr><tr>
             <td><code>CONFLICTS_RESOLVED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Some conflicts were observed when the callback was registered, and all
+ have been resolved.
+</td>
         </tr></table>
 
 ### Priority {:#Priority}
@@ -3188,11 +3221,16 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>EAGER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> EAGER values will be downloaded with the commit and have the same
+ availability.
+</td>
         </tr><tr>
             <td><code>LAZY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> LAZY values will not be downloaded with their commit, but only on demand.
+ A LAZY value thus may not be available when requested, for example if the
+ device has no internet connection at request time.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -3256,15 +3294,27 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LAST_ONE_WINS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Last one wins. When 2 commits are merged, the resulting commit contains:
+  - all keys/values that do not conflict
+  - all keys/values of the commit with the biggest timestamp (or biggest
+    id, if the timestamps are the same)
+</td>
         </tr><tr>
             <td><code>AUTOMATIC_WITH_FALLBACK</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Commits are automatically merged when no key has been modified on both
+ sides. When a key has been modified by both commits, conflict resolution is
+ delegated to a user-provided `ConflictResolver` that is created by calling
+ `ConflictResolverFactory.NewConflictResolver`. A single `ConflictResolver`
+ is created for each page. When the `ConflictResolver` is disconnected, a
+ new one is requested.
+</td>
         </tr><tr>
             <td><code>CUSTOM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> All merges are resolved by a user-provided `ConflictResolver` as described
+ above, even when commits to be merged change a disjoined set of keys.
+</td>
         </tr></table>
 
 ### ValueSource {:#ValueSource}
@@ -3307,19 +3357,29 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>IDLE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> There are no pending operations.
+</td>
         </tr><tr>
             <td><code>PENDING</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> There are pending operations, but there is no syncing in progress. This
+ could be because of (possibly a combination of):
+  - waiting for better connectivity
+  - waiting due to internal policies (e.g. batching network requests,
+      waiting for a merge to happen before uploading)
+  - waiting to determine if synchronization is needed (e.g. during initial
+      setup)
+</td>
         </tr><tr>
             <td><code>IN_PROGRESS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Synchronization is in progress.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> An internal error occurred while trying to sync.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.media.audio/index.md b/sdk/fidl/fuchsia.media.audio/index.md
index ee2c935..134a24c 100644
--- a/sdk/fidl/fuchsia.media.audio/index.md
+++ b/sdk/fidl/fuchsia.media.audio/index.md
@@ -422,7 +422,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SCALE_LINEAR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Amplitude scale changes at a fixed rate across the ramp duration.
+</td>
         </tr></table>
 
 ### RampType {:#RampType}
@@ -437,7 +438,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SCALE_LINEAR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Amplitude scale changes at a fixed rate across the ramp duration.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.media.drm/index.md b/sdk/fidl/fuchsia.media.drm/index.md
index af2899b..fe40c34 100644
--- a/sdk/fidl/fuchsia.media.drm/index.md
+++ b/sdk/fidl/fuchsia.media.drm/index.md
@@ -923,27 +923,41 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>TYPE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An error that occurs when the client provides invalid parameter data to
+ the server, such as an invalid license response message.
+</td>
         </tr><tr>
             <td><code>NOT_SUPPORTED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> An error that occurs when a requested operation is not supported by the
+ CDM, such as a license generation request with an unknown initialization
+ data type.
+</td>
         </tr><tr>
             <td><code>INVALID_STATE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> An error that occurs when the CDM is not in a proper state to perform
+ the requested operation, such as calling
+ <a class='link' href='#LicenseSession.GenerateLicenseRequest'>LicenseSession.GenerateLicenseRequest</a> when the <a class='link' href='#LicenseSession'>LicenseSession</a>
+ has already started the license release process.
+</td>
         </tr><tr>
             <td><code>QUOTA_EXCEEDED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> An error that occurs when a requested action would exceed allowable
+ limits, such as attempting to load an already opened session. 
+</td>
         </tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>100</code></td>
-            <td></td>
+            <td> An internal, unexpected error that is not actionable by the client.
+</td>
         </tr><tr>
             <td><code>NOT_PROVISIONED</code></td>
             <td><code>101</code></td>
-            <td></td>
+            <td> An error that occurs when the CDM is not usable because it requires
+ additional provisioning.
+</td>
         </tr></table>
 
 ### LicenseSessionType {:#LicenseSessionType}
@@ -957,15 +971,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>TEMPORARY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A session for which the license, keys, and record of the session are not
+ persisted.
+</td>
         </tr><tr>
             <td><code>PERSISTENT_LICENSE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A session for which the license, keys, and record of the session will be
+ persisted for offline use and can subsequently be loaded using
+ LoadSession().
+</td>
         </tr><tr>
             <td><code>PERSISTENT_USAGE_RECORD</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A session for which the the record of the session will be persisted, but
+ the keys and license will not be.
+</td>
         </tr></table>
 
 ### LicenseMessageType {:#LicenseMessageType}
diff --git a/sdk/fidl/fuchsia.media.sessions2/index.md b/sdk/fidl/fuchsia.media.sessions2/index.md
index 282cd61..e383143 100644
--- a/sdk/fidl/fuchsia.media.sessions2/index.md
+++ b/sdk/fidl/fuchsia.media.sessions2/index.md
@@ -1491,11 +1491,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ARTWORK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Artwork for the playing media.
+</td>
         </tr><tr>
             <td><code>SOURCE_ICON</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An icon for the source of the playing media (e.g. the player or
+ streaming service).
+</td>
         </tr></table>
 
 ### ContentType {:#ContentType}
@@ -1546,7 +1549,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>IDLE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The initial state of a session if there is no associated media.
+</td>
         </tr><tr>
             <td><code>PLAYING</code></td>
             <td><code>1</code></td>
@@ -1562,7 +1566,8 @@
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The player cannot recover from this state and will close.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -1591,15 +1596,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OFF</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No repeat.
+</td>
         </tr><tr>
             <td><code>GROUP</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Repeat the relevant group of media (e.g. playlist).
+</td>
         </tr><tr>
             <td><code>SINGLE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Repeat the currently playing media.
+</td>
         </tr></table>
 
 ### MediaImageType {:#MediaImageType}
@@ -1613,11 +1621,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ARTWORK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Artwork for the playing media.
+</td>
         </tr><tr>
             <td><code>SOURCE_ICON</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An icon for the source of the playing media (e.g. the player or
+ streaming service).
+</td>
         </tr></table>
 
 ### ContentType {:#ContentType}
@@ -1668,7 +1679,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>IDLE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The initial state of a session if there is no associated media.
+</td>
         </tr><tr>
             <td><code>PLAYING</code></td>
             <td><code>1</code></td>
@@ -1684,7 +1696,8 @@
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The player cannot recover from this state and will close.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -1713,15 +1726,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OFF</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No repeat.
+</td>
         </tr><tr>
             <td><code>GROUP</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Repeat the relevant group of media (e.g. playlist).
+</td>
         </tr><tr>
             <td><code>SINGLE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Repeat the currently playing media.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.media/index.md b/sdk/fidl/fuchsia.media/index.md
index cc00af7..f8a13e4 100644
--- a/sdk/fidl/fuchsia.media/index.md
+++ b/sdk/fidl/fuchsia.media/index.md
@@ -6853,23 +6853,34 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BACKGROUND</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Stream is intended to be used for ambient or background sound. Streams
+ that can be interrupted without consequence should use this.
+</td>
         </tr><tr>
             <td><code>MEDIA</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Stream is intended to be used for normal functionality. Streams that
+ are part of normal functionality should use this.
+</td>
         </tr><tr>
             <td><code>INTERRUPTION</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Stream is intended to interrupt any ongoing function of the device.
+ Streams that are used for interruptions like notifications should use
+ this.
+</td>
         </tr><tr>
             <td><code>SYSTEM_AGENT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Stream is for interaction with a system agent.  This should be used
+ in response to a user initiated trigger.
+</td>
         </tr><tr>
             <td><code>COMMUNICATION</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Stream is intended to be used for some form of real time user to user
+ communication. Voice/Video chat should use this.
+</td>
         </tr></table>
 
 ### AudioCaptureUsage {:#AudioCaptureUsage}
@@ -6886,19 +6897,32 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BACKGROUND</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Stream is used to capture audio while in the background.  These streams
+ may be active at any the time and are considered privileged.
+ Example: Listening for Hotwords
+</td>
         </tr><tr>
             <td><code>FOREGROUND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Stream is intended to be used for normal capture functionality. Streams
+ that are used for audio capture while the stream creator is in the
+ foreground should use this.
+ Example: Voice Recorder
+</td>
         </tr><tr>
             <td><code>SYSTEM_AGENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Stream is for interaction with a system agent.  This should only be used
+ once a user has signalled their intent to have the interaction with an
+ interested party.
+ Examples: Assistant, Siri, Alexa
+</td>
         </tr><tr>
             <td><code>COMMUNICATION</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Stream is intended to be used for some form of real time user to user
+ communication. Voice/Video chat should use this.
+</td>
         </tr></table>
 
 ### Behavior {:#Behavior}
@@ -6913,15 +6937,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Mix the streams.
+</td>
         </tr><tr>
             <td><code>DUCK</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Apply a gain to duck the volume of one of the streams. (-14.0db)
+</td>
         </tr><tr>
             <td><code>MUTE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Apply a gain to mute one of the streams. (-160.0db)
+</td>
         </tr></table>
 
 ### AudioOutputRoutingPolicy {:#AudioOutputRoutingPolicy}
@@ -6958,31 +6985,41 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An internal error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>INVALID_INPUT_FORMAT_DETAILS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The client provided invalid input format details.
+</td>
         </tr><tr>
             <td><code>INCOMPATIBLE_BUFFERS_PROVIDED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The server received buffers that are not suitable for the operation to
+ be performed. An example of this would be if a Decoder received output
+ buffers that are too small to decode a frame into.
+</td>
         </tr><tr>
             <td><code>DECODER_UNKNOWN</code></td>
             <td><code>16777217</code></td>
-            <td></td>
+            <td> An internal decoder error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>ENCODER_UNKNOWN</code></td>
             <td><code>33554433</code></td>
-            <td></td>
+            <td> An internal encoder error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>DECRYPTOR_UNKNOWN</code></td>
             <td><code>50331649</code></td>
-            <td></td>
+            <td> An internal decryptor error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>DECRYPTOR_NO_KEY</code></td>
             <td><code>50331650</code></td>
-            <td></td>
+            <td> The requested KeyId is not available for use by the Decryptor. The
+ client may try again later if that key becomes available.
+</td>
         </tr></table>
 
 ### AudioBitrateMode {:#AudioBitrateMode}
@@ -7264,7 +7301,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>MPEG2_AAC_LC</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> MPEG-2 Low Complexity
+</td>
         </tr></table>
 
 ### AudioSampleFormat {:#AudioSampleFormat}
@@ -7279,19 +7317,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNSIGNED_8</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> 8-bit unsigned samples, sample size 1 byte.
+</td>
         </tr><tr>
             <td><code>SIGNED_16</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> 16-bit signed samples, host-endian, sample size 2 bytes.
+</td>
         </tr><tr>
             <td><code>SIGNED_24_IN_32</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> 24-bit signed samples in 32 bits, host-endian, sample size 4 bytes.
+</td>
         </tr><tr>
             <td><code>FLOAT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> 32-bit floating-point samples, sample size 4 bytes.
+</td>
         </tr></table>
 
 ### ColorSpace {:#ColorSpace}
@@ -7339,23 +7381,34 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BACKGROUND</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Stream is intended to be used for ambient or background sound. Streams
+ that can be interrupted without consequence should use this.
+</td>
         </tr><tr>
             <td><code>MEDIA</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Stream is intended to be used for normal functionality. Streams that
+ are part of normal functionality should use this.
+</td>
         </tr><tr>
             <td><code>INTERRUPTION</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Stream is intended to interrupt any ongoing function of the device.
+ Streams that are used for interruptions like notifications should use
+ this.
+</td>
         </tr><tr>
             <td><code>SYSTEM_AGENT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Stream is for interaction with a system agent.  This should be used
+ in response to a user initiated trigger.
+</td>
         </tr><tr>
             <td><code>COMMUNICATION</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Stream is intended to be used for some form of real time user to user
+ communication. Voice/Video chat should use this.
+</td>
         </tr></table>
 
 ### AudioCaptureUsage {:#AudioCaptureUsage}
@@ -7372,19 +7425,32 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BACKGROUND</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Stream is used to capture audio while in the background.  These streams
+ may be active at any the time and are considered privileged.
+ Example: Listening for Hotwords
+</td>
         </tr><tr>
             <td><code>FOREGROUND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Stream is intended to be used for normal capture functionality. Streams
+ that are used for audio capture while the stream creator is in the
+ foreground should use this.
+ Example: Voice Recorder
+</td>
         </tr><tr>
             <td><code>SYSTEM_AGENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Stream is for interaction with a system agent.  This should only be used
+ once a user has signalled their intent to have the interaction with an
+ interested party.
+ Examples: Assistant, Siri, Alexa
+</td>
         </tr><tr>
             <td><code>COMMUNICATION</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Stream is intended to be used for some form of real time user to user
+ communication. Voice/Video chat should use this.
+</td>
         </tr></table>
 
 ### Behavior {:#Behavior}
@@ -7399,15 +7465,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Mix the streams.
+</td>
         </tr><tr>
             <td><code>DUCK</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Apply a gain to duck the volume of one of the streams. (-14.0db)
+</td>
         </tr><tr>
             <td><code>MUTE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Apply a gain to mute one of the streams. (-160.0db)
+</td>
         </tr></table>
 
 ### AudioOutputRoutingPolicy {:#AudioOutputRoutingPolicy}
@@ -7444,31 +7513,41 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An internal error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>INVALID_INPUT_FORMAT_DETAILS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The client provided invalid input format details.
+</td>
         </tr><tr>
             <td><code>INCOMPATIBLE_BUFFERS_PROVIDED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The server received buffers that are not suitable for the operation to
+ be performed. An example of this would be if a Decoder received output
+ buffers that are too small to decode a frame into.
+</td>
         </tr><tr>
             <td><code>DECODER_UNKNOWN</code></td>
             <td><code>16777217</code></td>
-            <td></td>
+            <td> An internal decoder error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>ENCODER_UNKNOWN</code></td>
             <td><code>33554433</code></td>
-            <td></td>
+            <td> An internal encoder error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>DECRYPTOR_UNKNOWN</code></td>
             <td><code>50331649</code></td>
-            <td></td>
+            <td> An internal decryptor error with an unspecified reason.
+</td>
         </tr><tr>
             <td><code>DECRYPTOR_NO_KEY</code></td>
             <td><code>50331650</code></td>
-            <td></td>
+            <td> The requested KeyId is not available for use by the Decryptor. The
+ client may try again later if that key becomes available.
+</td>
         </tr></table>
 
 ### AudioBitrateMode {:#AudioBitrateMode}
@@ -7750,7 +7829,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>MPEG2_AAC_LC</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> MPEG-2 Low Complexity
+</td>
         </tr></table>
 
 ### AudioSampleFormat {:#AudioSampleFormat}
@@ -7765,19 +7845,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNSIGNED_8</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> 8-bit unsigned samples, sample size 1 byte.
+</td>
         </tr><tr>
             <td><code>SIGNED_16</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> 16-bit signed samples, host-endian, sample size 2 bytes.
+</td>
         </tr><tr>
             <td><code>SIGNED_24_IN_32</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> 24-bit signed samples in 32 bits, host-endian, sample size 4 bytes.
+</td>
         </tr><tr>
             <td><code>FLOAT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> 32-bit floating-point samples, sample size 4 bytes.
+</td>
         </tr></table>
 
 ### ColorSpace {:#ColorSpace}
diff --git a/sdk/fidl/fuchsia.modular.auth/index.md b/sdk/fidl/fuchsia.modular.auth/index.md
index 6c2ba54..5c28eff 100644
--- a/sdk/fidl/fuchsia.modular.auth/index.md
+++ b/sdk/fidl/fuchsia.modular.auth/index.md
@@ -174,11 +174,17 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEV</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> An identity provider that's used for development and testing. If this
+ identity provider is chosen, the Framework will continue as if it has
+ identified the user. Note that the users that use this id provider would
+ not get cloud ledger access (unless done via a side channel).
+</td>
         </tr><tr>
             <td><code>GOOGLE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Uses Google as the identity provider. Doing this requires a working network
+ connection and a web view.
+</td>
         </tr></table>
 
 ### IdentityProvider {:#IdentityProvider}
@@ -195,11 +201,17 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEV</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> An identity provider that's used for development and testing. If this
+ identity provider is chosen, the Framework will continue as if it has
+ identified the user. Note that the users that use this id provider would
+ not get cloud ledger access (unless done via a side channel).
+</td>
         </tr><tr>
             <td><code>GOOGLE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Uses Google as the identity provider. Doing this requires a working network
+ connection and a web view.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.modular.session/index.md b/sdk/fidl/fuchsia.modular.session/index.md
index 06c8c8e..532cb7d 100644
--- a/sdk/fidl/fuchsia.modular.session/index.md
+++ b/sdk/fidl/fuchsia.modular.session/index.md
@@ -21,11 +21,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LET_LEDGER_DECIDE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Use a cloud provider configured by Ledger.
+</td>
         </tr><tr>
             <td><code>FROM_ENVIRONMENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Use a cloud provider available in the incoming namespace, rather than
+ initializing and instance within sessionmgr. This can be used by Voila to
+ inject a custom cloud provider.
+</td>
         </tr><tr>
             <td><code>NONE</code></td>
             <td><code>3</code></td>
@@ -43,11 +47,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LET_LEDGER_DECIDE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Use a cloud provider configured by Ledger.
+</td>
         </tr><tr>
             <td><code>FROM_ENVIRONMENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Use a cloud provider available in the incoming namespace, rather than
+ initializing and instance within sessionmgr. This can be used by Voila to
+ inject a custom cloud provider.
+</td>
         </tr><tr>
             <td><code>NONE</code></td>
             <td><code>3</code></td>
diff --git a/sdk/fidl/fuchsia.modular/index.md b/sdk/fidl/fuchsia.modular/index.md
index 9c32090..6840785 100644
--- a/sdk/fidl/fuchsia.modular/index.md
+++ b/sdk/fidl/fuchsia.modular/index.md
@@ -7806,15 +7806,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>VALUE_TOO_BIG</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The `AnnotationValue.buffer` size exceeds the maximum length,
+ `MAX_ANNOTATION_VALUE_BUFFER_LENGTH_BYTES`.
+</td>
         </tr><tr>
             <td><code>TOO_MANY_ANNOTATIONS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The total number of annotations on the story or module being annotated
+ exceeds `MAX_ANNOTATIONS_PER_STORY` or `MAX_ANNOTATIONS_PER_MODULE`.
+</td>
         </tr><tr>
             <td><code>NOT_FOUND</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The resource to be annotated was not found and could not be resolved
+ by, for example, waiting, or creating the missing resource automatically.
+ This error may be returned by StoryPuppetMaster.AnnotateModule(), which
+ can wait for a missing Module, but requires the Module's Story exist.
+</td>
         </tr></table>
 
 ### EntityWriteStatus {:#EntityWriteStatus}
@@ -7832,11 +7840,13 @@
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Indicates a failure of the entity provider to write the update.
+</td>
         </tr><tr>
             <td><code>READ_ONLY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Entity providers are not necessarily required to support entity mutation.
+</td>
         </tr></table>
 
 ### StartModuleStatus {:#StartModuleStatus}
@@ -7891,11 +7901,16 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Module that was added to the story from within the story by another
+ module using ModuleContext.AddModuleToStory() or
+ ModuleContext.EmbedModule().
+</td>
         </tr><tr>
             <td><code>EXTERNAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Module that was added to the story from outside the story using
+ PuppetMaster.
+</td>
         </tr></table>
 
 ### ModuleState {:#ModuleState}
@@ -7923,15 +7938,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>RUNNING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Module instance was created.
+</td>
         </tr><tr>
             <td><code>STOPPED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Module instance is stopped after Module.Stop(). No further transitions are
+ to be expected.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Connection to the Module instance was closed without Stop() request. No
+ further transitions are to be expected.
+</td>
         </tr></table>
 
 ### FindModulesStatus {:#FindModulesStatus}
@@ -7945,11 +7965,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SUCCESS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> A search was successfully conducted.
+</td>
         </tr><tr>
             <td><code>UNKNOWN_HANDLER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> `FindModulesQuery.handler` was specified but the resolver doesn't know
+ about it.
+</td>
         </tr></table>
 
 ### ExecuteStatus {:#ExecuteStatus}
@@ -8001,7 +8024,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ERR_STORY_ALREADY_CREATED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The story cannot be (re)configured because it was already created.
+</td>
         </tr></table>
 
 ### StoryVisualState {:#StoryVisualState}
@@ -8047,15 +8071,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>RUNNING</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Story was started using StoryController.Start().
+</td>
         </tr><tr>
             <td><code>STOPPING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Story is in the middle of stopping after StoryController.Stop() was
+ called.
+</td>
         </tr><tr>
             <td><code>STOPPED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Story was not yet run, or Story was stopped after StoryController.Stop()
+ was called.
+</td>
         </tr></table>
 
 ### StoryVisibilityState {:#StoryVisibilityState}
@@ -8079,11 +8108,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Default state for a story.
+</td>
         </tr><tr>
             <td><code>IMMERSIVE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Full-screen user experience, e.g. playing a video.
+</td>
         </tr></table>
 
 ### SurfaceArrangement {:#SurfaceArrangement}
@@ -8098,19 +8129,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No arrangement specified.
+</td>
         </tr><tr>
             <td><code>COPRESENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Desire to present simultaneously.
+</td>
         </tr><tr>
             <td><code>SEQUENTIAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The parent prefers to not be presented simultaneously with its child.
+ (The child may still become part of a simultaneous presentation depending
+ on the relationships between it and subsequently added surfaces).
+</td>
         </tr><tr>
             <td><code>ONTOP</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Place this surface on top of and obscuring the parent surface. This is a
+ complete replacement, not a modal or inset presentation.
+</td>
         </tr></table>
 
 ### SurfaceDependency {:#SurfaceDependency}
@@ -8125,11 +8163,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No dependency specified.
+</td>
         </tr><tr>
             <td><code>DEPENDENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Child is dependent on parent.
+ If parent is dismissed, child is dismissed as well.
+</td>
         </tr></table>
 
 ### AnnotationError {:#AnnotationError}
@@ -8144,15 +8185,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>VALUE_TOO_BIG</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The `AnnotationValue.buffer` size exceeds the maximum length,
+ `MAX_ANNOTATION_VALUE_BUFFER_LENGTH_BYTES`.
+</td>
         </tr><tr>
             <td><code>TOO_MANY_ANNOTATIONS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The total number of annotations on the story or module being annotated
+ exceeds `MAX_ANNOTATIONS_PER_STORY` or `MAX_ANNOTATIONS_PER_MODULE`.
+</td>
         </tr><tr>
             <td><code>NOT_FOUND</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The resource to be annotated was not found and could not be resolved
+ by, for example, waiting, or creating the missing resource automatically.
+ This error may be returned by StoryPuppetMaster.AnnotateModule(), which
+ can wait for a missing Module, but requires the Module's Story exist.
+</td>
         </tr></table>
 
 ### EntityWriteStatus {:#EntityWriteStatus}
@@ -8170,11 +8219,13 @@
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Indicates a failure of the entity provider to write the update.
+</td>
         </tr><tr>
             <td><code>READ_ONLY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Entity providers are not necessarily required to support entity mutation.
+</td>
         </tr></table>
 
 ### StartModuleStatus {:#StartModuleStatus}
@@ -8229,11 +8280,16 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Module that was added to the story from within the story by another
+ module using ModuleContext.AddModuleToStory() or
+ ModuleContext.EmbedModule().
+</td>
         </tr><tr>
             <td><code>EXTERNAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Module that was added to the story from outside the story using
+ PuppetMaster.
+</td>
         </tr></table>
 
 ### ModuleState {:#ModuleState}
@@ -8261,15 +8317,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>RUNNING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Module instance was created.
+</td>
         </tr><tr>
             <td><code>STOPPED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Module instance is stopped after Module.Stop(). No further transitions are
+ to be expected.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Connection to the Module instance was closed without Stop() request. No
+ further transitions are to be expected.
+</td>
         </tr></table>
 
 ### FindModulesStatus {:#FindModulesStatus}
@@ -8283,11 +8344,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SUCCESS</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> A search was successfully conducted.
+</td>
         </tr><tr>
             <td><code>UNKNOWN_HANDLER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> `FindModulesQuery.handler` was specified but the resolver doesn't know
+ about it.
+</td>
         </tr></table>
 
 ### ExecuteStatus {:#ExecuteStatus}
@@ -8339,7 +8403,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ERR_STORY_ALREADY_CREATED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The story cannot be (re)configured because it was already created.
+</td>
         </tr></table>
 
 ### StoryVisualState {:#StoryVisualState}
@@ -8385,15 +8450,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>RUNNING</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Story was started using StoryController.Start().
+</td>
         </tr><tr>
             <td><code>STOPPING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Story is in the middle of stopping after StoryController.Stop() was
+ called.
+</td>
         </tr><tr>
             <td><code>STOPPED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Story was not yet run, or Story was stopped after StoryController.Stop()
+ was called.
+</td>
         </tr></table>
 
 ### StoryVisibilityState {:#StoryVisibilityState}
@@ -8417,11 +8487,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Default state for a story.
+</td>
         </tr><tr>
             <td><code>IMMERSIVE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Full-screen user experience, e.g. playing a video.
+</td>
         </tr></table>
 
 ### SurfaceArrangement {:#SurfaceArrangement}
@@ -8436,19 +8508,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No arrangement specified.
+</td>
         </tr><tr>
             <td><code>COPRESENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Desire to present simultaneously.
+</td>
         </tr><tr>
             <td><code>SEQUENTIAL</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The parent prefers to not be presented simultaneously with its child.
+ (The child may still become part of a simultaneous presentation depending
+ on the relationships between it and subsequently added surfaces).
+</td>
         </tr><tr>
             <td><code>ONTOP</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Place this surface on top of and obscuring the parent surface. This is a
+ complete replacement, not a modal or inset presentation.
+</td>
         </tr></table>
 
 ### SurfaceDependency {:#SurfaceDependency}
@@ -8463,11 +8542,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No dependency specified.
+</td>
         </tr><tr>
             <td><code>DEPENDENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Child is dependent on parent.
+ If parent is dismissed, child is dismissed as well.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.net.dhcp/index.md b/sdk/fidl/fuchsia.net.dhcp/index.md
index 32b5920..6cb8f51 100644
--- a/sdk/fidl/fuchsia.net.dhcp/index.md
+++ b/sdk/fidl/fuchsia.net.dhcp/index.md
@@ -730,15 +730,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FILE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The file DHCP field.
+</td>
         </tr><tr>
             <td><code>SNAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The sname DHCP field.
+</td>
         </tr><tr>
             <td><code>BOTH</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Both file and sname DHCP fields.
+</td>
         </tr></table>
 
 ### MessageType {:#MessageType}
@@ -755,35 +758,43 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DHCPDISCOVER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A DHCP Discover message.
+</td>
         </tr><tr>
             <td><code>DHCPOFFER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A DHCP Offer message.
+</td>
         </tr><tr>
             <td><code>DHCPREQUEST</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A DHCP Request message.
+</td>
         </tr><tr>
             <td><code>DHCPDECLINE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> A DHCP Decline message.
+</td>
         </tr><tr>
             <td><code>DHCPACK</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> A DHCP Ack message.
+</td>
         </tr><tr>
             <td><code>DHCPNAK</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> A DHCP Nak message;
+</td>
         </tr><tr>
             <td><code>DHCPRELEASE</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A DHCP Release message;
+</td>
         </tr><tr>
             <td><code>DHCPINFORM</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> A DHCP Inform message.
+</td>
         </tr></table>
 
 ### OptionCode {:#OptionCode}
@@ -1110,15 +1121,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FILE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The file DHCP field.
+</td>
         </tr><tr>
             <td><code>SNAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The sname DHCP field.
+</td>
         </tr><tr>
             <td><code>BOTH</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Both file and sname DHCP fields.
+</td>
         </tr></table>
 
 ### MessageType {:#MessageType}
@@ -1135,35 +1149,43 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DHCPDISCOVER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A DHCP Discover message.
+</td>
         </tr><tr>
             <td><code>DHCPOFFER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A DHCP Offer message.
+</td>
         </tr><tr>
             <td><code>DHCPREQUEST</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A DHCP Request message.
+</td>
         </tr><tr>
             <td><code>DHCPDECLINE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> A DHCP Decline message.
+</td>
         </tr><tr>
             <td><code>DHCPACK</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> A DHCP Ack message.
+</td>
         </tr><tr>
             <td><code>DHCPNAK</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> A DHCP Nak message;
+</td>
         </tr><tr>
             <td><code>DHCPRELEASE</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A DHCP Release message;
+</td>
         </tr><tr>
             <td><code>DHCPINFORM</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> A DHCP Inform message.
+</td>
         </tr></table>
 
 ### OptionCode {:#OptionCode}
diff --git a/sdk/fidl/fuchsia.net.http/index.md b/sdk/fidl/fuchsia.net.http/index.md
index 240ce18..007db41 100644
--- a/sdk/fidl/fuchsia.net.http/index.md
+++ b/sdk/fidl/fuchsia.net.http/index.md
@@ -730,15 +730,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Default behavior.
+</td>
         </tr><tr>
             <td><code>BYPASS_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The HTTP request will bypass the local cache and will have a
+ 'Cache-Control: nocache' header added in that causes any proxy servers
+ to also not satisfy the request from their cache.  This has the effect
+ of forcing a full end-to-end fetch.
+</td>
         </tr><tr>
             <td><code>ONLY_FROM_CACHE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The HTTP request will fail if it cannot serve the requested resource
+ from the cache (or some equivalent local store).
+</td>
         </tr></table>
 
 ### ResponseBodyMode {:#ResponseBodyMode}
@@ -759,11 +766,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BUFFER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The complete response body should be returned in the `buffer` field of
+ the response body.
+
+ The loader MAY abort the transation if the buffer size exceeds an
+ implementation-defined limit.
+</td>
         </tr><tr>
             <td><code>STREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The response body should be streamed through the `stream` field of the
+ response body.
+</td>
         </tr></table>
 
 ### CacheMode {:#CacheMode}
@@ -778,15 +792,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Default behavior.
+</td>
         </tr><tr>
             <td><code>BYPASS_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The HTTP request will bypass the local cache and will have a
+ 'Cache-Control: nocache' header added in that causes any proxy servers
+ to also not satisfy the request from their cache.  This has the effect
+ of forcing a full end-to-end fetch.
+</td>
         </tr><tr>
             <td><code>ONLY_FROM_CACHE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The HTTP request will fail if it cannot serve the requested resource
+ from the cache (or some equivalent local store).
+</td>
         </tr></table>
 
 ### ResponseBodyMode {:#ResponseBodyMode}
@@ -807,11 +828,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BUFFER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The complete response body should be returned in the `buffer` field of
+ the response body.
+
+ The loader MAY abort the transation if the buffer size exceeds an
+ implementation-defined limit.
+</td>
         </tr><tr>
             <td><code>STREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The response body should be streamed through the `stream` field of the
+ response body.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.net.mdns/index.md b/sdk/fidl/fuchsia.net.mdns/index.md
index 79ea137..b4285db 100644
--- a/sdk/fidl/fuchsia.net.mdns/index.md
+++ b/sdk/fidl/fuchsia.net.mdns/index.md
@@ -866,19 +866,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID_SERVICE_NAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The specified service name is invalid.
+</td>
         </tr><tr>
             <td><code>INVALID_INSTANCE_NAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The specified instance name is invalid.
+</td>
         </tr><tr>
             <td><code>ALREADY_PUBLISHED_LOCALLY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The specified service instance is already being published by this
+ mDNS implementation.
+</td>
         </tr><tr>
             <td><code>ALREADY_PUBLISHED_ON_SUBNET</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The specified service instance is already being published by another
+ host on the subnet. This result occurs when an initial probe discovers
+ a conflicting instance.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -893,19 +900,26 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID_SERVICE_NAME</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The specified service name is invalid.
+</td>
         </tr><tr>
             <td><code>INVALID_INSTANCE_NAME</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The specified instance name is invalid.
+</td>
         </tr><tr>
             <td><code>ALREADY_PUBLISHED_LOCALLY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The specified service instance is already being published by this
+ mDNS implementation.
+</td>
         </tr><tr>
             <td><code>ALREADY_PUBLISHED_ON_SUBNET</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The specified service instance is already being published by another
+ host on the subnet. This result occurs when an initial probe discovers
+ a conflicting instance.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.net.oldhttp/index.md b/sdk/fidl/fuchsia.net.oldhttp/index.md
index f655d33..724b82c 100644
--- a/sdk/fidl/fuchsia.net.oldhttp/index.md
+++ b/sdk/fidl/fuchsia.net.oldhttp/index.md
@@ -728,15 +728,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Default behavior.
+</td>
         </tr><tr>
             <td><code>BYPASS_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The HTTP request will bypass the local cache and will have a
+ 'Cache-Control: nocache' header added in that causes any proxy servers
+ to also not satisfy the request from their cache.  This has the effect
+ of forcing a full end-to-end fetch.
+</td>
         </tr><tr>
             <td><code>ONLY_FROM_CACHE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The HTTP request will fail if it cannot serve the requested resource
+ from the cache (or some equivalent local store).
+</td>
         </tr></table>
 
 ### ResponseBodyMode {:#ResponseBodyMode}
@@ -751,15 +758,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BUFFER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The complete response body should be returned in the `buffer` field of
+ the response body.
+</td>
         </tr><tr>
             <td><code>STREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The response body should be streamed through the `stream` field of the
+ response body.
+</td>
         </tr><tr>
             <td><code>BUFFER_OR_STREAM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The response body may be returned as a buffer or stream.
+</td>
         </tr></table>
 
 ### CacheMode {:#CacheMode}
@@ -774,15 +786,22 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Default behavior.
+</td>
         </tr><tr>
             <td><code>BYPASS_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The HTTP request will bypass the local cache and will have a
+ 'Cache-Control: nocache' header added in that causes any proxy servers
+ to also not satisfy the request from their cache.  This has the effect
+ of forcing a full end-to-end fetch.
+</td>
         </tr><tr>
             <td><code>ONLY_FROM_CACHE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The HTTP request will fail if it cannot serve the requested resource
+ from the cache (or some equivalent local store).
+</td>
         </tr></table>
 
 ### ResponseBodyMode {:#ResponseBodyMode}
@@ -797,15 +816,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BUFFER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The complete response body should be returned in the `buffer` field of
+ the response body.
+</td>
         </tr><tr>
             <td><code>STREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The response body should be streamed through the `stream` field of the
+ response body.
+</td>
         </tr><tr>
             <td><code>BUFFER_OR_STREAM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The response body may be returned as a buffer or stream.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.net.stack/index.md b/sdk/fidl/fuchsia.net.stack/index.md
index 9f0dd9c..2aa77ac 100644
--- a/sdk/fidl/fuchsia.net.stack/index.md
+++ b/sdk/fidl/fuchsia.net.stack/index.md
@@ -784,11 +784,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ADDED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The interface is added.
+</td>
         </tr><tr>
             <td><code>REMOVED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The interface is removed.
+</td>
         </tr></table>
 
 ### PhysicalStatus {:#PhysicalStatus}
@@ -802,11 +804,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DOWN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The link is not attached to the medium.
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The link is attached to the medium.
+</td>
         </tr></table>
 
 ### AdministrativeStatus {:#AdministrativeStatus}
@@ -820,11 +824,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DISABLED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The interface is administratively disabled.
+</td>
         </tr><tr>
             <td><code>ENABLED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The interface is administratively enabled.
+</td>
         </tr></table>
 
 ### Error {:#Error}
diff --git a/sdk/fidl/fuchsia.net/index.md b/sdk/fidl/fuchsia.net/index.md
index 75987ba..500c975 100644
--- a/sdk/fidl/fuchsia.net/index.md
+++ b/sdk/fidl/fuchsia.net/index.md
@@ -577,19 +577,25 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NOT_FOUND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> No result was found for this query.
+</td>
         </tr><tr>
             <td><code>TRANSIENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The lookup failed, but may succeed at a later time. For instance, the
+ network or DNS server may be unreachable.
+</td>
         </tr><tr>
             <td><code>INVALID_ARGS</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The lookup failed due to an invalid argument (for instance, the hostname was not encoded
+ correctly, or was too long).
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The lookup failed due to an internal error.
+</td>
         </tr></table>
 
 ### LookupError {:#LookupError}
@@ -603,19 +609,25 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NOT_FOUND</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> No result was found for this query.
+</td>
         </tr><tr>
             <td><code>TRANSIENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The lookup failed, but may succeed at a later time. For instance, the
+ network or DNS server may be unreachable.
+</td>
         </tr><tr>
             <td><code>INVALID_ARGS</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The lookup failed due to an invalid argument (for instance, the hostname was not encoded
+ correctly, or was too long).
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The lookup failed due to an internal error.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.paver/index.md b/sdk/fidl/fuchsia.paver/index.md
index ebff451..2052c51 100644
--- a/sdk/fidl/fuchsia.paver/index.md
+++ b/sdk/fidl/fuchsia.paver/index.md
@@ -611,11 +611,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>KERNEL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Zircon Boot Image (ZBI) containing the kernel image as well as bootfs.
+</td>
         </tr><tr>
             <td><code>VERIFIED_BOOT_METADATA</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Metadata used for verified boot purposes.
+</td>
         </tr></table>
 
 ### ConfigurationStatus {:#ConfigurationStatus}
@@ -630,15 +632,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>HEALTHY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Bootable and health checked.
+</td>
         </tr><tr>
             <td><code>PENDING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Bootable but not yet marked healthy.
+</td>
         </tr><tr>
             <td><code>UNBOOTABLE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Unbootable.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.pkg/index.md b/sdk/fidl/fuchsia.pkg/index.md
index 6979dfd..e3e16b3 100644
--- a/sdk/fidl/fuchsia.pkg/index.md
+++ b/sdk/fidl/fuchsia.pkg/index.md
@@ -704,11 +704,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LIGHTBULB</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Does nothing, but visible in inspect.
+</td>
         </tr><tr>
             <td><code>DOWNLOAD_BLOB</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Perform blob downloading in the package resolver instead of amber.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.scpi/index.md b/sdk/fidl/fuchsia.scpi/index.md
index 425952e..55cced8 100644
--- a/sdk/fidl/fuchsia.scpi/index.md
+++ b/sdk/fidl/fuchsia.scpi/index.md
@@ -167,31 +167,40 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>OK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> the call completed successfully
+</td>
         </tr><tr>
             <td><code>ERR_DVFS_INFO</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> failed to get the DVFS operating
+ points information
+</td>
         </tr><tr>
             <td><code>ERR_DVFS_OPP_IDX</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> failed to get the dvfs opp index
+ which is set currently
+</td>
         </tr><tr>
             <td><code>ERR_TEMPERATURE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> failed to get the temperature
+</td>
         </tr><tr>
             <td><code>ERR_FAN_LEVEL</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> failed to get the fan level
+</td>
         </tr><tr>
             <td><code>ERR_CPU_STATS</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> failed to get cpu stats info
+</td>
         </tr><tr>
             <td><code>ERR_MEM_STATS</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> failed to get memory stat info
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.settings/index.md b/sdk/fidl/fuchsia.settings/index.md
index 7870f30..1328e4f 100644
--- a/sdk/fidl/fuchsia.settings/index.md
+++ b/sdk/fidl/fuchsia.settings/index.md
@@ -1429,19 +1429,24 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No color blindness.
+</td>
         </tr><tr>
             <td><code>PROTANOMALY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Red-green color blindness due to reduced sensitivity to red light.
+</td>
         </tr><tr>
             <td><code>DEUTERANOMALY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Red-green color blindness due to reduced sensitivity to green light.
+</td>
         </tr><tr>
             <td><code>TRITANOMALY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Blue-yellow color blindness. It is due to reduced sensitivity to blue
+ light.
+</td>
         </tr></table>
 
 ### CaptionFontFamily {:#CaptionFontFamily}
@@ -1499,23 +1504,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No border around fonts.
+</td>
         </tr><tr>
             <td><code>DROP_SHADOW</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A shadow "behind" and slightly offset from each edge.
+</td>
         </tr><tr>
             <td><code>RAISED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A bevel that mimics a 3D raised effect.
+</td>
         </tr><tr>
             <td><code>DEPRESSED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A bevel that mimics a 3D depressed effect.
+</td>
         </tr><tr>
             <td><code>OUTLINE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> A plain border around each shapes.
+</td>
         </tr></table>
 
 ### AudioStreamSettingSource {:#AudioStreamSettingSource}
@@ -1530,15 +1540,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The volume is default.
+</td>
         </tr><tr>
             <td><code>USER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The volume is set by the user. When the |source| in AudioStreamSettings is
+ set to this, the audio volume is set to |user_volume|.
+</td>
         </tr><tr>
             <td><code>SYSTEM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The system takes control of the volume. This is used when the system constantly
+ calculates and changes the volume. The volume is not stored for this source.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -1572,15 +1587,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> No override has been set.
+</td>
         </tr><tr>
             <td><code>AUTOLOGIN_GUEST</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Do not require an account and login always as guest.
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Requires a provisioned account through auth provider.
+</td>
         </tr></table>
 
 ### ColorBlindnessType {:#ColorBlindnessType}
@@ -1594,19 +1612,24 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No color blindness.
+</td>
         </tr><tr>
             <td><code>PROTANOMALY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Red-green color blindness due to reduced sensitivity to red light.
+</td>
         </tr><tr>
             <td><code>DEUTERANOMALY</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Red-green color blindness due to reduced sensitivity to green light.
+</td>
         </tr><tr>
             <td><code>TRITANOMALY</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Blue-yellow color blindness. It is due to reduced sensitivity to blue
+ light.
+</td>
         </tr></table>
 
 ### CaptionFontFamily {:#CaptionFontFamily}
@@ -1664,23 +1687,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No border around fonts.
+</td>
         </tr><tr>
             <td><code>DROP_SHADOW</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A shadow "behind" and slightly offset from each edge.
+</td>
         </tr><tr>
             <td><code>RAISED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A bevel that mimics a 3D raised effect.
+</td>
         </tr><tr>
             <td><code>DEPRESSED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A bevel that mimics a 3D depressed effect.
+</td>
         </tr><tr>
             <td><code>OUTLINE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> A plain border around each shapes.
+</td>
         </tr></table>
 
 ### AudioStreamSettingSource {:#AudioStreamSettingSource}
@@ -1695,15 +1723,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DEFAULT</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The volume is default.
+</td>
         </tr><tr>
             <td><code>USER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The volume is set by the user. When the |source| in AudioStreamSettings is
+ set to this, the audio volume is set to |user_volume|.
+</td>
         </tr><tr>
             <td><code>SYSTEM</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The system takes control of the volume. This is used when the system constantly
+ calculates and changes the volume. The volume is not stored for this source.
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -1737,15 +1770,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> No override has been set.
+</td>
         </tr><tr>
             <td><code>AUTOLOGIN_GUEST</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Do not require an account and login always as guest.
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Requires a provisioned account through auth provider.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.setui/index.md b/sdk/fidl/fuchsia.setui/index.md
index d8f27cd..633773b 100644
--- a/sdk/fidl/fuchsia.setui/index.md
+++ b/sdk/fidl/fuchsia.setui/index.md
@@ -755,11 +755,13 @@
         </tr><tr>
             <td><code>AUTOLOGIN_GUEST</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Do not require an account and login always as guest.
+</td>
         </tr><tr>
             <td><code>AUTH_PROVIDER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Requires a provisioned account through auth provider.
+</td>
         </tr></table>
 
 ### ConnectionStatus {:#ConnectionStatus}
@@ -777,19 +779,23 @@
         </tr><tr>
             <td><code>DISCONNECTED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The connection is at a resting disconnected state.
+</td>
         </tr><tr>
             <td><code>CONNECTING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The connection is being established.
+</td>
         </tr><tr>
             <td><code>CONNECTED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The connection is active.
+</td>
         </tr><tr>
             <td><code>DISCONNECTING</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The connection is in the process of being disconnected.
+</td>
         </tr></table>
 
 ### WirelessSecurity {:#WirelessSecurity}
@@ -807,11 +813,13 @@
         </tr><tr>
             <td><code>UNSECURED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The network is open and requires no password.
+</td>
         </tr><tr>
             <td><code>SECURED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The network is protected by a password.
+</td>
         </tr></table>
 
 ### WpaAuth {:#WpaAuth}
@@ -905,7 +913,8 @@
         </tr><tr>
             <td><code>WAN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> we have access to the wide area network.
+</td>
         </tr></table>
 
 ### HourCycle {:#HourCycle}
@@ -919,11 +928,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>H12</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> 12-hour clock
+</td>
         </tr><tr>
             <td><code>H23</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> 24-hour clock (from 0:00:00 to 23:59:59)
+</td>
         </tr></table>
 
 ### TemperatureUnit {:#TemperatureUnit}
diff --git a/sdk/fidl/fuchsia.sys/index.md b/sdk/fidl/fuchsia.sys/index.md
index d82c4e1..10acfb8 100644
--- a/sdk/fidl/fuchsia.sys/index.md
+++ b/sdk/fidl/fuchsia.sys/index.md
@@ -1613,39 +1613,48 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The channel closed without giving a termination reason.
+</td>
         </tr><tr>
             <td><code>EXITED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Component ran and exited with a given return_code.
+</td>
         </tr><tr>
             <td><code>URL_INVALID</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The given URL given to launch was invalid.
+</td>
         </tr><tr>
             <td><code>PACKAGE_NOT_FOUND</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The requested package could not be found.
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> An internal error happened during the launch process.
+</td>
         </tr><tr>
             <td><code>PROCESS_CREATION_ERROR</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Process creation failed.
+</td>
         </tr><tr>
             <td><code>RUNNER_FAILED</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> A Runner failed to start.
+</td>
         </tr><tr>
             <td><code>RUNNER_TERMINATED</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A Runner terminated while attempting to run a component.
+</td>
         </tr><tr>
             <td><code>UNSUPPORTED</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Attempted to use an unsupported feature.
+</td>
         </tr></table>
 
 ### TerminationReason {:#TerminationReason}
@@ -1659,39 +1668,48 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNKNOWN</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The channel closed without giving a termination reason.
+</td>
         </tr><tr>
             <td><code>EXITED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Component ran and exited with a given return_code.
+</td>
         </tr><tr>
             <td><code>URL_INVALID</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The given URL given to launch was invalid.
+</td>
         </tr><tr>
             <td><code>PACKAGE_NOT_FOUND</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The requested package could not be found.
+</td>
         </tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> An internal error happened during the launch process.
+</td>
         </tr><tr>
             <td><code>PROCESS_CREATION_ERROR</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Process creation failed.
+</td>
         </tr><tr>
             <td><code>RUNNER_FAILED</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> A Runner failed to start.
+</td>
         </tr><tr>
             <td><code>RUNNER_TERMINATED</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> A Runner terminated while attempting to run a component.
+</td>
         </tr><tr>
             <td><code>UNSUPPORTED</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Attempted to use an unsupported feature.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.sys2/index.md b/sdk/fidl/fuchsia.sys2/index.md
index 542dd5c..4154662 100644
--- a/sdk/fidl/fuchsia.sys2/index.md
+++ b/sdk/fidl/fuchsia.sys2/index.md
@@ -870,11 +870,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LAZY</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Start component instance only when another instance binds to it.
+</td>
         </tr><tr>
             <td><code>EAGER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Start component instance as soon as parent starts.
+</td>
         </tr></table>
 
 ### Durability {:#Durability}
@@ -889,11 +891,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PERSISTENT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An instance exists until either it or its parent is destroyed.
+</td>
         </tr><tr>
             <td><code>TRANSIENT</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> An instance exists until either its parent instance is stopped
+ or it is explicitly destroyed.
+</td>
         </tr></table>
 
 ### StorageType {:#StorageType}
@@ -908,15 +913,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>DATA</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> General data storage.
+</td>
         </tr><tr>
             <td><code>CACHE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Cache storage that may be deleted at any time by the system.
+</td>
         </tr><tr>
             <td><code>META</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Meta storage that will be used by component manager to persist metadata
+ and other information about the component
+</td>
         </tr></table>
 
 ### Error {:#Error}
@@ -931,39 +940,49 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INTERNAL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Component manager encountered an otherwise unspecified error while
+ performing the operation.
+</td>
         </tr><tr>
             <td><code>INVALID_ARGUMENTS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> At least one argument had an invalid format.
+</td>
         </tr><tr>
             <td><code>UNSUPPORTED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The feature is not yet supported.
+</td>
         </tr><tr>
             <td><code>INSTANCE_NOT_FOUND</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The component instance was not found.
+</td>
         </tr><tr>
             <td><code>INSTANCE_ALREADY_EXISTS</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The component instance already exists.
+</td>
         </tr><tr>
             <td><code>INSTANCE_CANNOT_START</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The component instance could not be started.
+</td>
         </tr><tr>
             <td><code>INSTANCE_CANNOT_RESOLVE</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> Failed to resolve the component's declaration.
+</td>
         </tr><tr>
             <td><code>COLLECTION_NOT_FOUND</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> The component collection was not found.
+</td>
         </tr><tr>
             <td><code>NO_SPACE</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> There was insufficient space to perform the operation.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.sysmem/index.md b/sdk/fidl/fuchsia.sysmem/index.md
index 260890c..2e704f3 100644
--- a/sdk/fidl/fuchsia.sysmem/index.md
+++ b/sdk/fidl/fuchsia.sysmem/index.md
@@ -4364,15 +4364,18 @@
         </tr><tr>
             <td><code>AMLOGIC_SECURE</code></td>
             <td><code>1152921504606912512</code></td>
-            <td></td>
+            <td> Heap used for amlogic protected memory.
+</td>
         </tr><tr>
             <td><code>AMLOGIC_SECURE_VDEC</code></td>
             <td><code>1152921504606912513</code></td>
-            <td></td>
+            <td> Heap used for amlogic protected memory between decrypt and video decode.
+</td>
         </tr><tr>
             <td><code>GOLDFISH_DEVICE_LOCAL</code></td>
             <td><code>1152921504606978048</code></td>
-            <td></td>
+            <td> Heap used by goldfish vulkan for device-local memory.
+</td>
         </tr></table>
 
 ### CoherencyDomain {:#CoherencyDomain}
@@ -4424,27 +4427,33 @@
         </tr><tr>
             <td><code>R8G8B8A8</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> RGB only, 8 bits per each of R/G/B/A sample
+</td>
         </tr><tr>
             <td><code>BGRA32</code></td>
             <td><code>101</code></td>
-            <td></td>
+            <td> 32bpp BGRA, 1 plane.  RGB only, 8 bits per each of B/G/R/A sample.
+</td>
         </tr><tr>
             <td><code>I420</code></td>
             <td><code>102</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>M420</code></td>
             <td><code>103</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>NV12</code></td>
             <td><code>104</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>YUY2</code></td>
             <td><code>105</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>MJPEG</code></td>
             <td><code>106</code></td>
@@ -4452,27 +4461,33 @@
         </tr><tr>
             <td><code>YV12</code></td>
             <td><code>107</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>BGR24</code></td>
             <td><code>108</code></td>
-            <td></td>
+            <td> 24bpp BGR, 1 plane. RGB only, 8 bits per each of B/G/R sample
+</td>
         </tr><tr>
             <td><code>RGB565</code></td>
             <td><code>109</code></td>
-            <td></td>
+            <td> 16bpp RGB, 1 plane. 5 bits R, 6 bits G, 5 bits B
+</td>
         </tr><tr>
             <td><code>RGB332</code></td>
             <td><code>110</code></td>
-            <td></td>
+            <td> 8bpp RGB, 1 plane. 3 bits R, 3 bits G, 2 bits B
+</td>
         </tr><tr>
             <td><code>RGB2220</code></td>
             <td><code>111</code></td>
-            <td></td>
+            <td> 8bpp RGB, 1 plane. 2 bits R, 2 bits G, 2 bits B
+</td>
         </tr><tr>
             <td><code>L8</code></td>
             <td><code>112</code></td>
-            <td></td>
+            <td> 8bpp, Luminance-only.
+</td>
         </tr></table>
 
 ### ColorSpaceType {:#ColorSpaceType}
@@ -4512,39 +4527,48 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Not a valid color space type.
+</td>
         </tr><tr>
             <td><code>SRGB</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> sRGB
+</td>
         </tr><tr>
             <td><code>REC601_NTSC</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> 601 NTSC ("525 line") YCbCr primaries, narrow
+</td>
         </tr><tr>
             <td><code>REC601_NTSC_FULL_RANGE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> 601 NTSC ("525 line") YCbCr primaries, wide
+</td>
         </tr><tr>
             <td><code>REC601_PAL</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> 601 PAL ("625 line") YCbCr primaries, narrow
+</td>
         </tr><tr>
             <td><code>REC601_PAL_FULL_RANGE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> 601 PAL ("625 line") YCbCr primaries, wide
+</td>
         </tr><tr>
             <td><code>REC709</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> 709 YCbCr (not RGB)
+</td>
         </tr><tr>
             <td><code>REC2020</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> 2020 YCbCr (not RGB, not YcCbcCrc)
+</td>
         </tr><tr>
             <td><code>REC2100</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> 2100 YCbCr (not RGB, not ICtCp)
+</td>
         </tr></table>
 
 ### HeapType {:#HeapType}
@@ -4565,15 +4589,18 @@
         </tr><tr>
             <td><code>AMLOGIC_SECURE</code></td>
             <td><code>1152921504606912512</code></td>
-            <td></td>
+            <td> Heap used for amlogic protected memory.
+</td>
         </tr><tr>
             <td><code>AMLOGIC_SECURE_VDEC</code></td>
             <td><code>1152921504606912513</code></td>
-            <td></td>
+            <td> Heap used for amlogic protected memory between decrypt and video decode.
+</td>
         </tr><tr>
             <td><code>GOLDFISH_DEVICE_LOCAL</code></td>
             <td><code>1152921504606978048</code></td>
-            <td></td>
+            <td> Heap used by goldfish vulkan for device-local memory.
+</td>
         </tr></table>
 
 ### CoherencyDomain {:#CoherencyDomain}
@@ -4625,27 +4652,33 @@
         </tr><tr>
             <td><code>R8G8B8A8</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> RGB only, 8 bits per each of R/G/B/A sample
+</td>
         </tr><tr>
             <td><code>BGRA32</code></td>
             <td><code>101</code></td>
-            <td></td>
+            <td> 32bpp BGRA, 1 plane.  RGB only, 8 bits per each of B/G/R/A sample.
+</td>
         </tr><tr>
             <td><code>I420</code></td>
             <td><code>102</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>M420</code></td>
             <td><code>103</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>NV12</code></td>
             <td><code>104</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>YUY2</code></td>
             <td><code>105</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>MJPEG</code></td>
             <td><code>106</code></td>
@@ -4653,27 +4686,33 @@
         </tr><tr>
             <td><code>YV12</code></td>
             <td><code>107</code></td>
-            <td></td>
+            <td> YUV only, 8 bits per Y sample
+</td>
         </tr><tr>
             <td><code>BGR24</code></td>
             <td><code>108</code></td>
-            <td></td>
+            <td> 24bpp BGR, 1 plane. RGB only, 8 bits per each of B/G/R sample
+</td>
         </tr><tr>
             <td><code>RGB565</code></td>
             <td><code>109</code></td>
-            <td></td>
+            <td> 16bpp RGB, 1 plane. 5 bits R, 6 bits G, 5 bits B
+</td>
         </tr><tr>
             <td><code>RGB332</code></td>
             <td><code>110</code></td>
-            <td></td>
+            <td> 8bpp RGB, 1 plane. 3 bits R, 3 bits G, 2 bits B
+</td>
         </tr><tr>
             <td><code>RGB2220</code></td>
             <td><code>111</code></td>
-            <td></td>
+            <td> 8bpp RGB, 1 plane. 2 bits R, 2 bits G, 2 bits B
+</td>
         </tr><tr>
             <td><code>L8</code></td>
             <td><code>112</code></td>
-            <td></td>
+            <td> 8bpp, Luminance-only.
+</td>
         </tr></table>
 
 ### ColorSpaceType {:#ColorSpaceType}
@@ -4713,39 +4752,48 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Not a valid color space type.
+</td>
         </tr><tr>
             <td><code>SRGB</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> sRGB
+</td>
         </tr><tr>
             <td><code>REC601_NTSC</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> 601 NTSC ("525 line") YCbCr primaries, narrow
+</td>
         </tr><tr>
             <td><code>REC601_NTSC_FULL_RANGE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> 601 NTSC ("525 line") YCbCr primaries, wide
+</td>
         </tr><tr>
             <td><code>REC601_PAL</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> 601 PAL ("625 line") YCbCr primaries, narrow
+</td>
         </tr><tr>
             <td><code>REC601_PAL_FULL_RANGE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> 601 PAL ("625 line") YCbCr primaries, wide
+</td>
         </tr><tr>
             <td><code>REC709</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> 709 YCbCr (not RGB)
+</td>
         </tr><tr>
             <td><code>REC2020</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> 2020 YCbCr (not RGB, not YcCbcCrc)
+</td>
         </tr><tr>
             <td><code>REC2100</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> 2100 YCbCr (not RGB, not ICtCp)
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.time/index.md b/sdk/fidl/fuchsia.time/index.md
index 33a703d..7de570d 100644
--- a/sdk/fidl/fuchsia.time/index.md
+++ b/sdk/fidl/fuchsia.time/index.md
@@ -76,11 +76,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BACKSTOP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The clock has been initialized to a known-prior reference time but may be highly inaccurate.
+</td>
         </tr><tr>
             <td><code>EXTERNAL</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The clock has been initialized from a suitably accurate external time source. For many
+ devices the most common external time source is a network time server.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.tracing.provider/index.md b/sdk/fidl/fuchsia.tracing.provider/index.md
index 8004bbe..322c90d 100644
--- a/sdk/fidl/fuchsia.tracing.provider/index.md
+++ b/sdk/fidl/fuchsia.tracing.provider/index.md
@@ -528,15 +528,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ONESHOT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> In oneshot mode there is only one buffer that is not reused. When the
+ buffer fills the provider just keeps dropping records, keeping a count,
+ and then when tracing stops the header is updated to record final
+ state.
+</td>
         </tr><tr>
             <td><code>CIRCULAR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> In circular mode, the buffer is continually written to until tracing
+ stops. When the buffer fills older records are discarded as needed.
+</td>
         </tr><tr>
             <td><code>STREAMING</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> In streaming mode, the buffer is effectively split into two pieces.
+ When one half of the buffer fills the provider notifies the trace
+ manager via the provided fifo, and then starts filling the other half
+ of the buffer. When the buffer is saved, the manager responds via the
+ provided fifo. If trace manager hasn't saved the buffer in time, and
+ the other buffer fills, then the provider is required to drop records
+ until space becomes available.
+</td>
         </tr></table>
 
 ### BufferDisposition {:#BufferDisposition}
@@ -558,15 +571,32 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CLEAR_ENTIRE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Clear the entire buffer, including durable buffer contents.
+ N.B. If this is done mid-session, then string and thread references
+ from prior to this point will become invalid - the underlying data
+ will be gone. To prevent this save buffer contents before clearing.
+
+ This is typically used when buffer contents were saved after the
+ preceding Stop.
+</td>
         </tr><tr>
             <td><code>CLEAR_NONDURABLE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Clear the non-durable portion of the buffer, retaining the durable
+ portion.
+
+ This is typically used when buffer contents were not saved after the
+ preceding Stop and the current contents are to be discarded.
+</td>
         </tr><tr>
             <td><code>RETAIN</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Retain buffer contents. New trace data is added where the previous
+ trace run left off.
+
+ This is typically used when buffer contents were not saved after the
+ preceding Stop and the current contents are to be retained.
+</td>
         </tr></table>
 
 ### BufferingMode {:#BufferingMode}
@@ -581,15 +611,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ONESHOT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> In oneshot mode there is only one buffer that is not reused. When the
+ buffer fills the provider just keeps dropping records, keeping a count,
+ and then when tracing stops the header is updated to record final
+ state.
+</td>
         </tr><tr>
             <td><code>CIRCULAR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> In circular mode, the buffer is continually written to until tracing
+ stops. When the buffer fills older records are discarded as needed.
+</td>
         </tr><tr>
             <td><code>STREAMING</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> In streaming mode, the buffer is effectively split into two pieces.
+ When one half of the buffer fills the provider notifies the trace
+ manager via the provided fifo, and then starts filling the other half
+ of the buffer. When the buffer is saved, the manager responds via the
+ provided fifo. If trace manager hasn't saved the buffer in time, and
+ the other buffer fills, then the provider is required to drop records
+ until space becomes available.
+</td>
         </tr></table>
 
 ### BufferDisposition {:#BufferDisposition}
@@ -611,15 +654,32 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CLEAR_ENTIRE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Clear the entire buffer, including durable buffer contents.
+ N.B. If this is done mid-session, then string and thread references
+ from prior to this point will become invalid - the underlying data
+ will be gone. To prevent this save buffer contents before clearing.
+
+ This is typically used when buffer contents were saved after the
+ preceding Stop.
+</td>
         </tr><tr>
             <td><code>CLEAR_NONDURABLE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Clear the non-durable portion of the buffer, retaining the durable
+ portion.
+
+ This is typically used when buffer contents were not saved after the
+ preceding Stop and the current contents are to be discarded.
+</td>
         </tr><tr>
             <td><code>RETAIN</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Retain buffer contents. New trace data is added where the previous
+ trace run left off.
+
+ This is typically used when buffer contents were not saved after the
+ preceding Stop and the current contents are to be retained.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.ui.gfx/index.md b/sdk/fidl/fuchsia.ui.gfx/index.md
index ffe1317..7477c86 100644
--- a/sdk/fidl/fuchsia.ui.gfx/index.md
+++ b/sdk/fidl/fuchsia.ui.gfx/index.md
@@ -8018,23 +8018,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNSHADOWED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No shadows.
+</td>
         </tr><tr>
             <td><code>SCREEN_SPACE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Default.  Screen-space, depth-buffer based shadows; SSDO-ish.
+</td>
         </tr><tr>
             <td><code>SHADOW_MAP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Basic shadow map.
+</td>
         </tr><tr>
             <td><code>MOMENT_SHADOW_MAP</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Moment shadow map (see http:///momentsingraphics.de).
+</td>
         </tr><tr>
             <td><code>STENCIL_SHADOW_VOLUME</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Stencil shadow volume.
+</td>
         </tr></table>
 
 ### RenderFrequency {:#RenderFrequency}
@@ -8048,11 +8053,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>WHEN_REQUESTED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Render only on when requested (i.e. when something triggers it).
+ Default behavior.
+</td>
         </tr><tr>
             <td><code>CONTINUOUSLY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Render one frame after another regardless of it it's needed.
+</td>
         </tr></table>
 
 ### ImportSpec {:#ImportSpec}
@@ -8136,11 +8144,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>kDefault</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Apply hit testing to the node's content, its parts, and its children.
+</td>
         </tr><tr>
             <td><code>kSuppress</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Suppress hit testing of the node and everything it contains.
+</td>
         </tr></table>
 
 ### MeshIndexFormat {:#MeshIndexFormat}
@@ -8195,23 +8205,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UNSHADOWED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> No shadows.
+</td>
         </tr><tr>
             <td><code>SCREEN_SPACE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Default.  Screen-space, depth-buffer based shadows; SSDO-ish.
+</td>
         </tr><tr>
             <td><code>SHADOW_MAP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Basic shadow map.
+</td>
         </tr><tr>
             <td><code>MOMENT_SHADOW_MAP</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Moment shadow map (see http:///momentsingraphics.de).
+</td>
         </tr><tr>
             <td><code>STENCIL_SHADOW_VOLUME</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Stencil shadow volume.
+</td>
         </tr></table>
 
 ### RenderFrequency {:#RenderFrequency}
@@ -8225,11 +8240,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>WHEN_REQUESTED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Render only on when requested (i.e. when something triggers it).
+ Default behavior.
+</td>
         </tr><tr>
             <td><code>CONTINUOUSLY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Render one frame after another regardless of it it's needed.
+</td>
         </tr></table>
 
 ### ImportSpec {:#ImportSpec}
@@ -8313,11 +8331,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>kDefault</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Apply hit testing to the node's content, its parts, and its children.
+</td>
         </tr><tr>
             <td><code>kSuppress</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Suppress hit testing of the node and everything it contains.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.ui.input.accessibility/index.md b/sdk/fidl/fuchsia.ui.input.accessibility/index.md
index 74e303e..25e10f2 100644
--- a/sdk/fidl/fuchsia.ui.input.accessibility/index.md
+++ b/sdk/fidl/fuchsia.ui.input.accessibility/index.md
@@ -103,11 +103,16 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CONSUMED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The listener consumes all the pointer events for (device_id, pointer_id)
+ until the next UP event.
+</td>
         </tr><tr>
             <td><code>REJECTED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The listener rejects the remaining pointer events for (device_id,
+ pointer_id), and observed (past) and expected (future) pointer events
+ until the next UP event are to be sent for regular input dispatch.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.ui.input/index.md b/sdk/fidl/fuchsia.ui.input/index.md
index d2f763e..83bcdfd 100644
--- a/sdk/fidl/fuchsia.ui.input/index.md
+++ b/sdk/fidl/fuchsia.ui.input/index.md
@@ -2893,19 +2893,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PRESSED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> When key is pressed down.
+</td>
         </tr><tr>
             <td><code>RELEASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> When key is released.
+</td>
         </tr><tr>
             <td><code>CANCELLED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> This key `PRESSED` is not directed to this input client anymore.
+</td>
         </tr><tr>
             <td><code>REPEAT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Whether this is an automatically generated key repeat
+</td>
         </tr></table>
 
 ### PointerEventType {:#PointerEventType}
@@ -2919,19 +2923,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>TOUCH</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> A touch-based pointer device.
+</td>
         </tr><tr>
             <td><code>STYLUS</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A pointer device with a stylus.
+</td>
         </tr><tr>
             <td><code>INVERTED_STYLUS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A pointer device with a stylus that has been inverted.
+</td>
         </tr><tr>
             <td><code>MOUSE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A pointer device without a stylus.
+</td>
         </tr></table>
 
 ### PointerEventPhase {:#PointerEventPhase}
@@ -2945,31 +2953,52 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ADD</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The device has started tracking the pointer.
+
+ For example, the pointer might be hovering above the device, having not yet
+ made contact with the surface of the device.
+</td>
         </tr><tr>
             <td><code>HOVER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The pointer has moved with respect to the device while not in contact with
+ the device.
+</td>
         </tr><tr>
             <td><code>DOWN</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The pointer has made contact with the device.
+
+ For `MOUSE` devices, this is triggered when the primary button is pressed
+ down to emulate a touch on the screen.
+</td>
         </tr><tr>
             <td><code>MOVE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The pointer has moved with respect to the device while in contact with the
+ device.
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The pointer has stopped making contact with the device.
+
+ For `MOUSE` devices, this is triggered when the primary button is
+ released.
+</td>
         </tr><tr>
             <td><code>REMOVE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The device is no longer tracking the pointer.
+
+ For example, the pointer might have drifted out of the device's hover
+ detection range or might have been disconnected from the system entirely.
+</td>
         </tr><tr>
             <td><code>CANCEL</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The input from the pointer is no longer directed towards this receiver.
+</td>
         </tr></table>
 
 ### AxisScale {:#AxisScale}
@@ -3056,11 +3085,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UPSTREAM</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The position has affinity for the upstream side of the text position.
+
+ For example, if the offset of the text position is a line break, the
+ position represents the end of the first line.
+</td>
         </tr><tr>
             <td><code>DOWNSTREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The position has affinity for the downstream side of the text position.
+
+ For example, if the offset of the text position is a line break, the
+ position represents the start of the second line.
+</td>
         </tr></table>
 
 ### KeyboardType {:#KeyboardType}
@@ -3142,19 +3179,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PRESSED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> When key is pressed down.
+</td>
         </tr><tr>
             <td><code>RELEASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> When key is released.
+</td>
         </tr><tr>
             <td><code>CANCELLED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> This key `PRESSED` is not directed to this input client anymore.
+</td>
         </tr><tr>
             <td><code>REPEAT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Whether this is an automatically generated key repeat
+</td>
         </tr></table>
 
 ### PointerEventType {:#PointerEventType}
@@ -3168,19 +3209,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>TOUCH</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> A touch-based pointer device.
+</td>
         </tr><tr>
             <td><code>STYLUS</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> A pointer device with a stylus.
+</td>
         </tr><tr>
             <td><code>INVERTED_STYLUS</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> A pointer device with a stylus that has been inverted.
+</td>
         </tr><tr>
             <td><code>MOUSE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> A pointer device without a stylus.
+</td>
         </tr></table>
 
 ### PointerEventPhase {:#PointerEventPhase}
@@ -3194,31 +3239,52 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ADD</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The device has started tracking the pointer.
+
+ For example, the pointer might be hovering above the device, having not yet
+ made contact with the surface of the device.
+</td>
         </tr><tr>
             <td><code>HOVER</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The pointer has moved with respect to the device while not in contact with
+ the device.
+</td>
         </tr><tr>
             <td><code>DOWN</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The pointer has made contact with the device.
+
+ For `MOUSE` devices, this is triggered when the primary button is pressed
+ down to emulate a touch on the screen.
+</td>
         </tr><tr>
             <td><code>MOVE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The pointer has moved with respect to the device while in contact with the
+ device.
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The pointer has stopped making contact with the device.
+
+ For `MOUSE` devices, this is triggered when the primary button is
+ released.
+</td>
         </tr><tr>
             <td><code>REMOVE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The device is no longer tracking the pointer.
+
+ For example, the pointer might have drifted out of the device's hover
+ detection range or might have been disconnected from the system entirely.
+</td>
         </tr><tr>
             <td><code>CANCEL</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The input from the pointer is no longer directed towards this receiver.
+</td>
         </tr></table>
 
 ### AxisScale {:#AxisScale}
@@ -3305,11 +3371,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>UPSTREAM</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The position has affinity for the upstream side of the text position.
+
+ For example, if the offset of the text position is a line break, the
+ position represents the end of the first line.
+</td>
         </tr><tr>
             <td><code>DOWNSTREAM</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The position has affinity for the downstream side of the text position.
+
+ For example, if the offset of the text position is a line break, the
+ position represents the start of the second line.
+</td>
         </tr></table>
 
 ### KeyboardType {:#KeyboardType}
diff --git a/sdk/fidl/fuchsia.ui.input2/index.md b/sdk/fidl/fuchsia.ui.input2/index.md
index 68aff31..9fd5a42 100644
--- a/sdk/fidl/fuchsia.ui.input2/index.md
+++ b/sdk/fidl/fuchsia.ui.input2/index.md
@@ -314,11 +314,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PRESSED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Key is pressed down.
+</td>
         </tr><tr>
             <td><code>RELEASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Key is released.
+</td>
         </tr></table>
 
 ### Status {:#Status}
@@ -362,423 +364,633 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>A</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Keyboard a and A
+ Corresponds to USB HID page 0x0007 usage 0x0004
+</td>
         </tr><tr>
             <td><code>B</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Keyboard b and B
+ Corresponds to USB HID page 0x0007 usage 0x0005
+</td>
         </tr><tr>
             <td><code>C</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Keyboard c and C
+ Corresponds to USB HID page 0x0007 usage 0x0006
+</td>
         </tr><tr>
             <td><code>D</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Keyboard d and D
+ Corresponds to USB HID page 0x0007 usage 0x0007
+</td>
         </tr><tr>
             <td><code>E</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Keyboard e and E
+ Corresponds to USB HID page 0x0007 usage 0x0008
+</td>
         </tr><tr>
             <td><code>F</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> Keyboard f and F
+ Corresponds to USB HID page 0x0007 usage 0x0009
+</td>
         </tr><tr>
             <td><code>G</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> Keyboard g and G
+ Corresponds to USB HID page 0x0007 usage 0x000a
+</td>
         </tr><tr>
             <td><code>H</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Keyboard h and H
+ Corresponds to USB HID page 0x0007 usage 0x000b
+</td>
         </tr><tr>
             <td><code>I</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> Keyboard i and I
+ Corresponds to USB HID page 0x0007 usage 0x000c
+</td>
         </tr><tr>
             <td><code>J</code></td>
             <td><code>10</code></td>
-            <td></td>
+            <td> Keyboard j and J
+ Corresponds to USB HID page 0x0007 usage 0x000d
+</td>
         </tr><tr>
             <td><code>K</code></td>
             <td><code>11</code></td>
-            <td></td>
+            <td> Keyboard k and K
+ Corresponds to USB HID page 0x0007 usage 0x000e
+</td>
         </tr><tr>
             <td><code>L</code></td>
             <td><code>12</code></td>
-            <td></td>
+            <td> Keyboard l and L
+ Corresponds to USB HID page 0x0007 usage 0x000f
+</td>
         </tr><tr>
             <td><code>M</code></td>
             <td><code>13</code></td>
-            <td></td>
+            <td> Keyboard m and M
+ Corresponds to USB HID page 0x0007 usage 0x0010
+</td>
         </tr><tr>
             <td><code>N</code></td>
             <td><code>14</code></td>
-            <td></td>
+            <td> Keyboard n and N
+ Corresponds to USB HID page 0x0007 usage 0x0011
+</td>
         </tr><tr>
             <td><code>O</code></td>
             <td><code>15</code></td>
-            <td></td>
+            <td> Keyboard o and O
+ Corresponds to USB HID page 0x0007 usage 0x0012
+</td>
         </tr><tr>
             <td><code>P</code></td>
             <td><code>16</code></td>
-            <td></td>
+            <td> Keyboard p and P
+ Corresponds to USB HID page 0x0007 usage 0x0013
+</td>
         </tr><tr>
             <td><code>Q</code></td>
             <td><code>17</code></td>
-            <td></td>
+            <td> Keyboard q and Q
+ Corresponds to USB HID page 0x0007 usage 0x0014
+</td>
         </tr><tr>
             <td><code>R</code></td>
             <td><code>18</code></td>
-            <td></td>
+            <td> Keyboard r and R
+ Corresponds to USB HID page 0x0007 usage 0x0015
+</td>
         </tr><tr>
             <td><code>S</code></td>
             <td><code>19</code></td>
-            <td></td>
+            <td> Keyboard s and S
+ Corresponds to USB HID page 0x0007 usage 0x0016
+</td>
         </tr><tr>
             <td><code>T</code></td>
             <td><code>20</code></td>
-            <td></td>
+            <td> Keyboard t and T
+ Corresponds to USB HID page 0x0007 usage 0x0017
+</td>
         </tr><tr>
             <td><code>U</code></td>
             <td><code>21</code></td>
-            <td></td>
+            <td> Keyboard u and U
+ Corresponds to USB HID page 0x0007 usage 0x0018
+</td>
         </tr><tr>
             <td><code>V</code></td>
             <td><code>22</code></td>
-            <td></td>
+            <td> Keyboard v and V
+ Corresponds to USB HID page 0x0007 usage 0x0019
+</td>
         </tr><tr>
             <td><code>W</code></td>
             <td><code>23</code></td>
-            <td></td>
+            <td> Keyboard w and W
+ Corresponds to USB HID page 0x0007 usage 0x001a
+</td>
         </tr><tr>
             <td><code>X</code></td>
             <td><code>24</code></td>
-            <td></td>
+            <td> Keyboard x and X
+ Corresponds to USB HID page 0x0007 usage 0x001b
+</td>
         </tr><tr>
             <td><code>Y</code></td>
             <td><code>25</code></td>
-            <td></td>
+            <td> Keyboard y and Y
+ Corresponds to USB HID page 0x0007 usage 0x001c
+</td>
         </tr><tr>
             <td><code>Z</code></td>
             <td><code>26</code></td>
-            <td></td>
+            <td> Keyboard z and Z
+ Corresponds to USB HID page 0x0007 usage 0x001d
+</td>
         </tr><tr>
             <td><code>KEY_1</code></td>
             <td><code>27</code></td>
-            <td></td>
+            <td> Keyboard 1 and !
+ Corresponds to USB HID page 0x0007 usage 0x001e
+</td>
         </tr><tr>
             <td><code>KEY_2</code></td>
             <td><code>28</code></td>
-            <td></td>
+            <td> Keyboard 2 and @
+ Corresponds to USB HID page 0x0007 usage 0x001f
+</td>
         </tr><tr>
             <td><code>KEY_3</code></td>
             <td><code>29</code></td>
-            <td></td>
+            <td> Keyboard 3 and #
+ Corresponds to USB HID page 0x0007 usage 0x0020
+</td>
         </tr><tr>
             <td><code>KEY_4</code></td>
             <td><code>30</code></td>
-            <td></td>
+            <td> Keyboard 4 and $
+ Corresponds to USB HID page 0x0007 usage 0x0021
+</td>
         </tr><tr>
             <td><code>KEY_5</code></td>
             <td><code>31</code></td>
-            <td></td>
+            <td> Keyboard 5 and %
+ Corresponds to USB HID page 0x0007 usage 0x0022
+</td>
         </tr><tr>
             <td><code>KEY_6</code></td>
             <td><code>32</code></td>
-            <td></td>
+            <td> Keyboard 6 and ^
+ Corresponds to USB HID page 0x0007 usage 0x0023
+</td>
         </tr><tr>
             <td><code>KEY_7</code></td>
             <td><code>33</code></td>
-            <td></td>
+            <td> Keyboard 7 and &
+ Corresponds to USB HID page 0x0007 usage 0x0024
+</td>
         </tr><tr>
             <td><code>KEY_8</code></td>
             <td><code>34</code></td>
-            <td></td>
+            <td> Keyboard 8 and *
+ Corresponds to USB HID page 0x0007 usage 0x0025
+</td>
         </tr><tr>
             <td><code>KEY_9</code></td>
             <td><code>35</code></td>
-            <td></td>
+            <td> Keyboard 9 and (
+ Corresponds to USB HID page 0x0007 usage 0x0026
+</td>
         </tr><tr>
             <td><code>KEY_0</code></td>
             <td><code>36</code></td>
-            <td></td>
+            <td> Keyboard 0 and )
+ Corresponds to USB HID page 0x0007 usage 0x0027
+</td>
         </tr><tr>
             <td><code>ENTER</code></td>
             <td><code>37</code></td>
-            <td></td>
+            <td> Keyboard Enter (Return)
+ Corresponds to USB HID page 0x0007 usage 0x0028
+</td>
         </tr><tr>
             <td><code>ESCAPE</code></td>
             <td><code>38</code></td>
-            <td></td>
+            <td> Keyboard Escape
+ Corresponds to USB HID page 0x0007 usage 0x0029
+</td>
         </tr><tr>
             <td><code>BACKSPACE</code></td>
             <td><code>39</code></td>
-            <td></td>
+            <td> Keyboard Backspace (Backward Delete)
+ Corresponds to USB HID page 0x0007 usage 0x002a
+</td>
         </tr><tr>
             <td><code>TAB</code></td>
             <td><code>40</code></td>
-            <td></td>
+            <td> Keyboard Tab
+ Corresponds to USB HID page 0x0007 usage 0x002b
+</td>
         </tr><tr>
             <td><code>SPACE</code></td>
             <td><code>41</code></td>
-            <td></td>
+            <td> Keyboard Spacebar
+ Corresponds to USB HID page 0x0007 usage 0x002c
+</td>
         </tr><tr>
             <td><code>MINUS</code></td>
             <td><code>42</code></td>
-            <td></td>
+            <td> Keyboard - and (underscore)
+ Corresponds to USB HID page 0x0007 usage 0x002d
+</td>
         </tr><tr>
             <td><code>EQUALS</code></td>
             <td><code>43</code></td>
-            <td></td>
+            <td> Keyboard = and +
+ Corresponds to USB HID page 0x0007 usage 0x002e
+</td>
         </tr><tr>
             <td><code>LEFT_BRACE</code></td>
             <td><code>44</code></td>
-            <td></td>
+            <td> Keyboard [ and {
+ Corresponds to USB HID page 0x0007 usage 0x002f
+</td>
         </tr><tr>
             <td><code>RIGHT_BRACE</code></td>
             <td><code>45</code></td>
-            <td></td>
+            <td> Keyboard ] and }
+ Corresponds to USB HID page 0x0007 usage 0x0030
+</td>
         </tr><tr>
             <td><code>BACKSLASH</code></td>
             <td><code>46</code></td>
-            <td></td>
+            <td> Keyboard \ and |
+ Corresponds to USB HID page 0x0007 usage 0x0031
+</td>
         </tr><tr>
             <td><code>NON_US_HASH</code></td>
             <td><code>47</code></td>
-            <td></td>
+            <td> Keyboard Non-US # and ~
+ Corresponds to USB HID page 0x0007 usage 0x0032
+</td>
         </tr><tr>
             <td><code>SEMICOLON</code></td>
             <td><code>48</code></td>
-            <td></td>
+            <td> Keyboard ; and :
+ Corresponds to USB HID page 0x0007 usage 0x0033
+</td>
         </tr><tr>
             <td><code>APOSTROPHE</code></td>
             <td><code>49</code></td>
-            <td></td>
+            <td> Keyboard ' and "
+ Corresponds to USB HID page 0x0007 usage 0x0034
+</td>
         </tr><tr>
             <td><code>GRAVE_ACCENT</code></td>
             <td><code>50</code></td>
-            <td></td>
+            <td> Keyboard Grave Accent and Tilde
+ Corresponds to USB HID page 0x0007 usage 0x0035
+</td>
         </tr><tr>
             <td><code>COMMA</code></td>
             <td><code>51</code></td>
-            <td></td>
+            <td> Keyboard , and <
+ Corresponds to USB HID page 0x0007 usage 0x0036
+</td>
         </tr><tr>
             <td><code>DOT</code></td>
             <td><code>52</code></td>
-            <td></td>
+            <td> Keyboard . and >
+ Corresponds to USB HID page 0x0007 usage 0x0037
+</td>
         </tr><tr>
             <td><code>SLASH</code></td>
             <td><code>53</code></td>
-            <td></td>
+            <td> Keyboard / and ?
+ Corresponds to USB HID page 0x0007 usage 0x0038
+</td>
         </tr><tr>
             <td><code>CAPS_LOCK</code></td>
             <td><code>54</code></td>
-            <td></td>
+            <td> Keyboard Caps Lock
+ Corresponds to USB HID page 0x0007 usage 0x0039
+</td>
         </tr><tr>
             <td><code>F1</code></td>
             <td><code>55</code></td>
-            <td></td>
+            <td> Keyboard F1
+ Corresponds to USB HID page 0x0007 usage 0x003a
+</td>
         </tr><tr>
             <td><code>F2</code></td>
             <td><code>56</code></td>
-            <td></td>
+            <td> Keyboard F2
+ Corresponds to USB HID page 0x0007 usage 0x003b
+</td>
         </tr><tr>
             <td><code>F3</code></td>
             <td><code>57</code></td>
-            <td></td>
+            <td> Keyboard F3
+ Corresponds to USB HID page 0x0007 usage 0x003c
+</td>
         </tr><tr>
             <td><code>F4</code></td>
             <td><code>58</code></td>
-            <td></td>
+            <td> Keyboard F4
+ Corresponds to USB HID page 0x0007 usage 0x003d
+</td>
         </tr><tr>
             <td><code>F5</code></td>
             <td><code>59</code></td>
-            <td></td>
+            <td> Keyboard F5
+ Corresponds to USB HID page 0x0007 usage 0x003e
+</td>
         </tr><tr>
             <td><code>F6</code></td>
             <td><code>60</code></td>
-            <td></td>
+            <td> Keyboard F6
+ Corresponds to USB HID page 0x0007 usage 0x003f
+</td>
         </tr><tr>
             <td><code>F7</code></td>
             <td><code>61</code></td>
-            <td></td>
+            <td> Keyboard F7
+ Corresponds to USB HID page 0x0007 usage 0x0040
+</td>
         </tr><tr>
             <td><code>F8</code></td>
             <td><code>62</code></td>
-            <td></td>
+            <td> Keyboard F8
+ Corresponds to USB HID page 0x0007 usage 0x0041
+</td>
         </tr><tr>
             <td><code>F9</code></td>
             <td><code>63</code></td>
-            <td></td>
+            <td> Keyboard F9
+ Corresponds to USB HID page 0x0007 usage 0x0042
+</td>
         </tr><tr>
             <td><code>F10</code></td>
             <td><code>64</code></td>
-            <td></td>
+            <td> Keyboard F10
+ Corresponds to USB HID page 0x0007 usage 0x0043
+</td>
         </tr><tr>
             <td><code>F11</code></td>
             <td><code>65</code></td>
-            <td></td>
+            <td> Keyboard F11
+ Corresponds to USB HID page 0x0007 usage 0x0044
+</td>
         </tr><tr>
             <td><code>F12</code></td>
             <td><code>66</code></td>
-            <td></td>
+            <td> Keyboard F12
+ Corresponds to USB HID page 0x0007 usage 0x0045
+</td>
         </tr><tr>
             <td><code>PRINT_SCREEN</code></td>
             <td><code>67</code></td>
-            <td></td>
+            <td> Keyboard Print Screen
+ Corresponds to USB HID page 0x0007 usage 0x0046
+</td>
         </tr><tr>
             <td><code>SCROLL_LOCK</code></td>
             <td><code>68</code></td>
-            <td></td>
+            <td> Keyboard Scroll Lock
+ Corresponds to USB HID page 0x0007 usage 0x0047
+</td>
         </tr><tr>
             <td><code>PAUSE</code></td>
             <td><code>69</code></td>
-            <td></td>
+            <td> Keyboard Pause
+ Corresponds to USB HID page 0x0007 usage 0x0048
+</td>
         </tr><tr>
             <td><code>INSERT</code></td>
             <td><code>70</code></td>
-            <td></td>
+            <td> Keyboard Insert
+ Corresponds to USB HID page 0x0007 usage 0x0049
+</td>
         </tr><tr>
             <td><code>HOME</code></td>
             <td><code>71</code></td>
-            <td></td>
+            <td> Keyboard Home
+ Corresponds to USB HID page 0x0007 usage 0x004a
+</td>
         </tr><tr>
             <td><code>PAGE_UP</code></td>
             <td><code>72</code></td>
-            <td></td>
+            <td> Keyboard Page Up
+ Corresponds to USB HID page 0x0007 usage 0x004b
+</td>
         </tr><tr>
             <td><code>DELETE</code></td>
             <td><code>73</code></td>
-            <td></td>
+            <td> Keyboard Forward Delete
+ Corresponds to USB HID page 0x0007 usage 0x004c
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>74</code></td>
-            <td></td>
+            <td> Keyboard End
+ Corresponds to USB HID page 0x0007 usage 0x004d
+</td>
         </tr><tr>
             <td><code>PAGE_DOWN</code></td>
             <td><code>75</code></td>
-            <td></td>
+            <td> Keyboard Page Down
+ Corresponds to USB HID page 0x0007 usage 0x004e
+</td>
         </tr><tr>
             <td><code>RIGHT</code></td>
             <td><code>76</code></td>
-            <td></td>
+            <td> Keyboard Right Arrow
+ Corresponds to USB HID page 0x0007 usage 0x004f
+</td>
         </tr><tr>
             <td><code>LEFT</code></td>
             <td><code>77</code></td>
-            <td></td>
+            <td> Keyboard Left Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0050
+</td>
         </tr><tr>
             <td><code>DOWN</code></td>
             <td><code>78</code></td>
-            <td></td>
+            <td> Keyboard Down Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0051
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>79</code></td>
-            <td></td>
+            <td> Keyboard Up Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0052
+</td>
         </tr><tr>
             <td><code>NON_US_BACKSLASH</code></td>
             <td><code>80</code></td>
-            <td></td>
+            <td> Keyboard Non-US \ and |
+ Corresponds to USB HID page 0x0007 usage 0x0064
+</td>
         </tr><tr>
             <td><code>LEFT_CTRL</code></td>
             <td><code>81</code></td>
-            <td></td>
+            <td> Keyboard Left Control
+ Corresponds to USB HID page 0x0007 usage 0x00e0
+</td>
         </tr><tr>
             <td><code>LEFT_SHIFT</code></td>
             <td><code>82</code></td>
-            <td></td>
+            <td> Keyboard Left Shift
+ Corresponds to USB HID page 0x0007 usage 0x00e1
+</td>
         </tr><tr>
             <td><code>LEFT_ALT</code></td>
             <td><code>83</code></td>
-            <td></td>
+            <td> Keyboard Left Alt
+ Corresponds to USB HID page 0x0007 usage 0x00e2
+</td>
         </tr><tr>
             <td><code>LEFT_META</code></td>
             <td><code>84</code></td>
-            <td></td>
+            <td> Keyboard Left GUI (Meta, Windows)
+ Corresponds to USB HID page 0x0007 usage 0x00e3
+</td>
         </tr><tr>
             <td><code>RIGHT_CTRL</code></td>
             <td><code>85</code></td>
-            <td></td>
+            <td> Keyboard Right Control
+ Corresponds to USB HID page 0x0007 usage 0x00e4
+</td>
         </tr><tr>
             <td><code>RIGHT_SHIFT</code></td>
             <td><code>86</code></td>
-            <td></td>
+            <td> Keyboard Right Shift
+ Corresponds to USB HID page 0x0007 usage 0x00e5
+</td>
         </tr><tr>
             <td><code>RIGHT_ALT</code></td>
             <td><code>87</code></td>
-            <td></td>
+            <td> Keyboard Right Alt
+ Corresponds to USB HID page 0x0007 usage 0x00e6
+</td>
         </tr><tr>
             <td><code>RIGHT_META</code></td>
             <td><code>88</code></td>
-            <td></td>
+            <td> Keyboard Right GUI (Meta, Windows)
+ Corresponds to USB HID page 0x0007 usage 0x00e7
+</td>
         </tr><tr>
             <td><code>NUM_LOCK</code></td>
             <td><code>512</code></td>
-            <td></td>
+            <td> Keypad Num Lock and Clear
+ Corresponds to USB HID page 0x0007 usage 0x0053
+</td>
         </tr><tr>
             <td><code>KEYPAD_SLASH</code></td>
             <td><code>513</code></td>
-            <td></td>
+            <td> Keypad /
+ Corresponds to USB HID page 0x0007 usage 0x0054
+</td>
         </tr><tr>
             <td><code>KEYPAD_ASTERISK</code></td>
             <td><code>514</code></td>
-            <td></td>
+            <td> Keypad *
+ Corresponds to USB HID page 0x0007 usage 0x0055
+</td>
         </tr><tr>
             <td><code>KEYPAD_MINUS</code></td>
             <td><code>515</code></td>
-            <td></td>
+            <td> Keypad -
+ Corresponds to USB HID page 0x0007 usage 0x0056
+</td>
         </tr><tr>
             <td><code>KEYPAD_PLUS</code></td>
             <td><code>516</code></td>
-            <td></td>
+            <td> Keypad +
+ Corresponds to USB HID page 0x0007 usage 0x0057
+</td>
         </tr><tr>
             <td><code>KEYPAD_ENTER</code></td>
             <td><code>517</code></td>
-            <td></td>
+            <td> Keypad ENTER
+ Corresponds to USB HID page 0x0007 usage 0x0058
+</td>
         </tr><tr>
             <td><code>KEYPAD_1</code></td>
             <td><code>518</code></td>
-            <td></td>
+            <td> Keypad 1 and End
+ Corresponds to USB HID page 0x0007 usage 0x0059
+</td>
         </tr><tr>
             <td><code>KEYPAD_2</code></td>
             <td><code>519</code></td>
-            <td></td>
+            <td> Keypad 2 and Down Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005a
+</td>
         </tr><tr>
             <td><code>KEYPAD_3</code></td>
             <td><code>520</code></td>
-            <td></td>
+            <td> Keypad 3 and Page Down
+ Corresponds to USB HID page 0x0007 usage 0x005b
+</td>
         </tr><tr>
             <td><code>KEYPAD_4</code></td>
             <td><code>521</code></td>
-            <td></td>
+            <td> Keypad 4 and Left Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005c
+</td>
         </tr><tr>
             <td><code>KEYPAD_5</code></td>
             <td><code>522</code></td>
-            <td></td>
+            <td> Keypad 5
+ Corresponds to USB HID page 0x0007 usage 0x005d
+</td>
         </tr><tr>
             <td><code>KEYPAD_6</code></td>
             <td><code>523</code></td>
-            <td></td>
+            <td> Keypad 6 and Right Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005e
+</td>
         </tr><tr>
             <td><code>KEYPAD_7</code></td>
             <td><code>524</code></td>
-            <td></td>
+            <td> Keypad 7 and Home
+ Corresponds to USB HID page 0x0007 usage 0x005f
+</td>
         </tr><tr>
             <td><code>KEYPAD_8</code></td>
             <td><code>525</code></td>
-            <td></td>
+            <td> Keypad 8 and Up Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0060
+</td>
         </tr><tr>
             <td><code>KEYPAD_9</code></td>
             <td><code>526</code></td>
-            <td></td>
+            <td> Keypad 9 and Page Up
+ Corresponds to USB HID page 0x0007 usage 0x0061
+</td>
         </tr><tr>
             <td><code>KEYPAD_0</code></td>
             <td><code>527</code></td>
-            <td></td>
+            <td> Keypad 0 and Insert
+ Corresponds to USB HID page 0x0007 usage 0x0062
+</td>
         </tr><tr>
             <td><code>KEYPAD_DOT</code></td>
             <td><code>528</code></td>
-            <td></td>
+            <td> Keypad . and Delete
+ Corresponds to USB HID page 0x0007 usage 0x0063
+</td>
         </tr><tr>
             <td><code>MEDIA_MUTE</code></td>
             <td><code>768</code></td>
@@ -808,59 +1020,89 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ALT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The Alt (Alternative) key.
+ This key enables the alternate modifier function for interpreting
+ concurrent or subsequent keyboard input.
+ This key value is also used for the Apple Option key.
+</td>
         </tr><tr>
             <td><code>ALT_GRAPH</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The Alternate Graphics (AltGr or AltGraph) key.
+ This key is used enable the ISO Level 3 shift modifier (the standard
+ Shift key is the level 2 modifier). See [ISO9995-1].
+</td>
         </tr><tr>
             <td><code>CAPS_LOCK</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The Caps Lock (Capital) key.
+ Toggle capital character lock function for interpreting subsequent
+ keyboard input event.
+</td>
         </tr><tr>
             <td><code>CONTROL</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The Control or Ctrl key, to enable control modifier function for
+ interpreting concurrent or subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>META</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The Meta key, to enable meta modifier function for interpreting
+ concurrent or subsequent keyboard input.
+ This key value is used for the Windows Logo key and the Apple Command
+ or ⌘ key.
+</td>
         </tr><tr>
             <td><code>NUM_LOCK</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The NumLock or Number Lock key, to toggle numpad mode function for
+ interpreting subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>SCROLL_LOCK</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> "ScrollLock" The Scroll Lock key, to toggle between scrolling and cursor
+ movement modes.
+</td>
         </tr><tr>
             <td><code>SHIFT</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> The Shift key, to enable shift modifier function for interpreting
+ concurrent or subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>ARROW_DOWN</code></td>
             <td><code>33</code></td>
-            <td></td>
+            <td> The down arrow key, to navigate or traverse downward.
+</td>
         </tr><tr>
             <td><code>ARROW_LEFT</code></td>
             <td><code>34</code></td>
-            <td></td>
+            <td> The left arrow key, to navigate or traverse leftward.
+</td>
         </tr><tr>
             <td><code>ARROW_RIGHT</code></td>
             <td><code>35</code></td>
-            <td></td>
+            <td> The right arrow key, to navigate or traverse rightward.
+</td>
         </tr><tr>
             <td><code>ARROW_UP</code></td>
             <td><code>36</code></td>
-            <td></td>
+            <td> The up arrow key, to navigate or traverse upward.
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>37</code></td>
-            <td></td>
+            <td> The End key, used with keyboard entry to go to the end of content.
+</td>
         </tr><tr>
             <td><code>HOME</code></td>
             <td><code>38</code></td>
-            <td></td>
+            <td> The Home key, used with keyboard entry, to go to start of content.
+ For the mobile phone Home key (which goes to the phone’s main screen),
+ use "GO_HOME".
+</td>
         </tr><tr>
             <td><code>PAGE_DOWN</code></td>
             <td><code>39</code></td>
@@ -872,23 +1114,33 @@
         </tr><tr>
             <td><code>ENTER</code></td>
             <td><code>49</code></td>
-            <td></td>
+            <td> The Enter or ↵ key, to activate current selection or accept current input.
+ This key value is also used for the Return (Macintosh numpad) key.
+</td>
         </tr><tr>
             <td><code>TAB</code></td>
             <td><code>50</code></td>
-            <td></td>
+            <td> The Horizontal Tabulation Tab key.
+</td>
         </tr><tr>
             <td><code>BACKSPACE</code></td>
             <td><code>65</code></td>
-            <td></td>
+            <td> The Backspace key. This key value is also used for the key labeled Delete
+ on MacOS keyboards.
+</td>
         </tr><tr>
             <td><code>DELETE</code></td>
             <td><code>66</code></td>
-            <td></td>
+            <td> The Delete (Del) Key.
+ This key value is also used for the key labeled Delete on MacOS keyboards
+ when modified by the Fn key.
+</td>
         </tr><tr>
             <td><code>INSERT</code></td>
             <td><code>67</code></td>
-            <td></td>
+            <td> The Insert (Ins) key, to toggle between text modes for insertion or
+ overtyping.
+</td>
         </tr><tr>
             <td><code>F1</code></td>
             <td><code>97</code></td>
@@ -940,19 +1192,27 @@
         </tr><tr>
             <td><code>CONTEXT_MENU</code></td>
             <td><code>129</code></td>
-            <td></td>
+            <td> Show the application’s context menu.
+ This key is commonly found between the right Meta key and the right
+ Control key.
+</td>
         </tr><tr>
             <td><code>ESCAPE</code></td>
             <td><code>130</code></td>
-            <td></td>
+            <td> The Esc key. This key was originally used to initiate an escape sequence,
+ but is now more generally used to exit or "escape" the current context,
+ such as closing a dialog or exiting full screen mode.
+</td>
         </tr><tr>
             <td><code>GO_BACK</code></td>
             <td><code>177</code></td>
-            <td></td>
+            <td> The Back key.
+</td>
         </tr><tr>
             <td><code>GO_HOME</code></td>
             <td><code>178</code></td>
-            <td></td>
+            <td> The Home key, which goes to the phone’s main screen.
+</td>
         </tr></table>
 
 ### KeyEventPhase {:#KeyEventPhase}
@@ -967,11 +1227,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PRESSED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Key is pressed down.
+</td>
         </tr><tr>
             <td><code>RELEASED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Key is released.
+</td>
         </tr></table>
 
 ### Status {:#Status}
@@ -1015,423 +1277,633 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>A</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Keyboard a and A
+ Corresponds to USB HID page 0x0007 usage 0x0004
+</td>
         </tr><tr>
             <td><code>B</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Keyboard b and B
+ Corresponds to USB HID page 0x0007 usage 0x0005
+</td>
         </tr><tr>
             <td><code>C</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Keyboard c and C
+ Corresponds to USB HID page 0x0007 usage 0x0006
+</td>
         </tr><tr>
             <td><code>D</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Keyboard d and D
+ Corresponds to USB HID page 0x0007 usage 0x0007
+</td>
         </tr><tr>
             <td><code>E</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Keyboard e and E
+ Corresponds to USB HID page 0x0007 usage 0x0008
+</td>
         </tr><tr>
             <td><code>F</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> Keyboard f and F
+ Corresponds to USB HID page 0x0007 usage 0x0009
+</td>
         </tr><tr>
             <td><code>G</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> Keyboard g and G
+ Corresponds to USB HID page 0x0007 usage 0x000a
+</td>
         </tr><tr>
             <td><code>H</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> Keyboard h and H
+ Corresponds to USB HID page 0x0007 usage 0x000b
+</td>
         </tr><tr>
             <td><code>I</code></td>
             <td><code>9</code></td>
-            <td></td>
+            <td> Keyboard i and I
+ Corresponds to USB HID page 0x0007 usage 0x000c
+</td>
         </tr><tr>
             <td><code>J</code></td>
             <td><code>10</code></td>
-            <td></td>
+            <td> Keyboard j and J
+ Corresponds to USB HID page 0x0007 usage 0x000d
+</td>
         </tr><tr>
             <td><code>K</code></td>
             <td><code>11</code></td>
-            <td></td>
+            <td> Keyboard k and K
+ Corresponds to USB HID page 0x0007 usage 0x000e
+</td>
         </tr><tr>
             <td><code>L</code></td>
             <td><code>12</code></td>
-            <td></td>
+            <td> Keyboard l and L
+ Corresponds to USB HID page 0x0007 usage 0x000f
+</td>
         </tr><tr>
             <td><code>M</code></td>
             <td><code>13</code></td>
-            <td></td>
+            <td> Keyboard m and M
+ Corresponds to USB HID page 0x0007 usage 0x0010
+</td>
         </tr><tr>
             <td><code>N</code></td>
             <td><code>14</code></td>
-            <td></td>
+            <td> Keyboard n and N
+ Corresponds to USB HID page 0x0007 usage 0x0011
+</td>
         </tr><tr>
             <td><code>O</code></td>
             <td><code>15</code></td>
-            <td></td>
+            <td> Keyboard o and O
+ Corresponds to USB HID page 0x0007 usage 0x0012
+</td>
         </tr><tr>
             <td><code>P</code></td>
             <td><code>16</code></td>
-            <td></td>
+            <td> Keyboard p and P
+ Corresponds to USB HID page 0x0007 usage 0x0013
+</td>
         </tr><tr>
             <td><code>Q</code></td>
             <td><code>17</code></td>
-            <td></td>
+            <td> Keyboard q and Q
+ Corresponds to USB HID page 0x0007 usage 0x0014
+</td>
         </tr><tr>
             <td><code>R</code></td>
             <td><code>18</code></td>
-            <td></td>
+            <td> Keyboard r and R
+ Corresponds to USB HID page 0x0007 usage 0x0015
+</td>
         </tr><tr>
             <td><code>S</code></td>
             <td><code>19</code></td>
-            <td></td>
+            <td> Keyboard s and S
+ Corresponds to USB HID page 0x0007 usage 0x0016
+</td>
         </tr><tr>
             <td><code>T</code></td>
             <td><code>20</code></td>
-            <td></td>
+            <td> Keyboard t and T
+ Corresponds to USB HID page 0x0007 usage 0x0017
+</td>
         </tr><tr>
             <td><code>U</code></td>
             <td><code>21</code></td>
-            <td></td>
+            <td> Keyboard u and U
+ Corresponds to USB HID page 0x0007 usage 0x0018
+</td>
         </tr><tr>
             <td><code>V</code></td>
             <td><code>22</code></td>
-            <td></td>
+            <td> Keyboard v and V
+ Corresponds to USB HID page 0x0007 usage 0x0019
+</td>
         </tr><tr>
             <td><code>W</code></td>
             <td><code>23</code></td>
-            <td></td>
+            <td> Keyboard w and W
+ Corresponds to USB HID page 0x0007 usage 0x001a
+</td>
         </tr><tr>
             <td><code>X</code></td>
             <td><code>24</code></td>
-            <td></td>
+            <td> Keyboard x and X
+ Corresponds to USB HID page 0x0007 usage 0x001b
+</td>
         </tr><tr>
             <td><code>Y</code></td>
             <td><code>25</code></td>
-            <td></td>
+            <td> Keyboard y and Y
+ Corresponds to USB HID page 0x0007 usage 0x001c
+</td>
         </tr><tr>
             <td><code>Z</code></td>
             <td><code>26</code></td>
-            <td></td>
+            <td> Keyboard z and Z
+ Corresponds to USB HID page 0x0007 usage 0x001d
+</td>
         </tr><tr>
             <td><code>KEY_1</code></td>
             <td><code>27</code></td>
-            <td></td>
+            <td> Keyboard 1 and !
+ Corresponds to USB HID page 0x0007 usage 0x001e
+</td>
         </tr><tr>
             <td><code>KEY_2</code></td>
             <td><code>28</code></td>
-            <td></td>
+            <td> Keyboard 2 and @
+ Corresponds to USB HID page 0x0007 usage 0x001f
+</td>
         </tr><tr>
             <td><code>KEY_3</code></td>
             <td><code>29</code></td>
-            <td></td>
+            <td> Keyboard 3 and #
+ Corresponds to USB HID page 0x0007 usage 0x0020
+</td>
         </tr><tr>
             <td><code>KEY_4</code></td>
             <td><code>30</code></td>
-            <td></td>
+            <td> Keyboard 4 and $
+ Corresponds to USB HID page 0x0007 usage 0x0021
+</td>
         </tr><tr>
             <td><code>KEY_5</code></td>
             <td><code>31</code></td>
-            <td></td>
+            <td> Keyboard 5 and %
+ Corresponds to USB HID page 0x0007 usage 0x0022
+</td>
         </tr><tr>
             <td><code>KEY_6</code></td>
             <td><code>32</code></td>
-            <td></td>
+            <td> Keyboard 6 and ^
+ Corresponds to USB HID page 0x0007 usage 0x0023
+</td>
         </tr><tr>
             <td><code>KEY_7</code></td>
             <td><code>33</code></td>
-            <td></td>
+            <td> Keyboard 7 and &
+ Corresponds to USB HID page 0x0007 usage 0x0024
+</td>
         </tr><tr>
             <td><code>KEY_8</code></td>
             <td><code>34</code></td>
-            <td></td>
+            <td> Keyboard 8 and *
+ Corresponds to USB HID page 0x0007 usage 0x0025
+</td>
         </tr><tr>
             <td><code>KEY_9</code></td>
             <td><code>35</code></td>
-            <td></td>
+            <td> Keyboard 9 and (
+ Corresponds to USB HID page 0x0007 usage 0x0026
+</td>
         </tr><tr>
             <td><code>KEY_0</code></td>
             <td><code>36</code></td>
-            <td></td>
+            <td> Keyboard 0 and )
+ Corresponds to USB HID page 0x0007 usage 0x0027
+</td>
         </tr><tr>
             <td><code>ENTER</code></td>
             <td><code>37</code></td>
-            <td></td>
+            <td> Keyboard Enter (Return)
+ Corresponds to USB HID page 0x0007 usage 0x0028
+</td>
         </tr><tr>
             <td><code>ESCAPE</code></td>
             <td><code>38</code></td>
-            <td></td>
+            <td> Keyboard Escape
+ Corresponds to USB HID page 0x0007 usage 0x0029
+</td>
         </tr><tr>
             <td><code>BACKSPACE</code></td>
             <td><code>39</code></td>
-            <td></td>
+            <td> Keyboard Backspace (Backward Delete)
+ Corresponds to USB HID page 0x0007 usage 0x002a
+</td>
         </tr><tr>
             <td><code>TAB</code></td>
             <td><code>40</code></td>
-            <td></td>
+            <td> Keyboard Tab
+ Corresponds to USB HID page 0x0007 usage 0x002b
+</td>
         </tr><tr>
             <td><code>SPACE</code></td>
             <td><code>41</code></td>
-            <td></td>
+            <td> Keyboard Spacebar
+ Corresponds to USB HID page 0x0007 usage 0x002c
+</td>
         </tr><tr>
             <td><code>MINUS</code></td>
             <td><code>42</code></td>
-            <td></td>
+            <td> Keyboard - and (underscore)
+ Corresponds to USB HID page 0x0007 usage 0x002d
+</td>
         </tr><tr>
             <td><code>EQUALS</code></td>
             <td><code>43</code></td>
-            <td></td>
+            <td> Keyboard = and +
+ Corresponds to USB HID page 0x0007 usage 0x002e
+</td>
         </tr><tr>
             <td><code>LEFT_BRACE</code></td>
             <td><code>44</code></td>
-            <td></td>
+            <td> Keyboard [ and {
+ Corresponds to USB HID page 0x0007 usage 0x002f
+</td>
         </tr><tr>
             <td><code>RIGHT_BRACE</code></td>
             <td><code>45</code></td>
-            <td></td>
+            <td> Keyboard ] and }
+ Corresponds to USB HID page 0x0007 usage 0x0030
+</td>
         </tr><tr>
             <td><code>BACKSLASH</code></td>
             <td><code>46</code></td>
-            <td></td>
+            <td> Keyboard \ and |
+ Corresponds to USB HID page 0x0007 usage 0x0031
+</td>
         </tr><tr>
             <td><code>NON_US_HASH</code></td>
             <td><code>47</code></td>
-            <td></td>
+            <td> Keyboard Non-US # and ~
+ Corresponds to USB HID page 0x0007 usage 0x0032
+</td>
         </tr><tr>
             <td><code>SEMICOLON</code></td>
             <td><code>48</code></td>
-            <td></td>
+            <td> Keyboard ; and :
+ Corresponds to USB HID page 0x0007 usage 0x0033
+</td>
         </tr><tr>
             <td><code>APOSTROPHE</code></td>
             <td><code>49</code></td>
-            <td></td>
+            <td> Keyboard ' and "
+ Corresponds to USB HID page 0x0007 usage 0x0034
+</td>
         </tr><tr>
             <td><code>GRAVE_ACCENT</code></td>
             <td><code>50</code></td>
-            <td></td>
+            <td> Keyboard Grave Accent and Tilde
+ Corresponds to USB HID page 0x0007 usage 0x0035
+</td>
         </tr><tr>
             <td><code>COMMA</code></td>
             <td><code>51</code></td>
-            <td></td>
+            <td> Keyboard , and <
+ Corresponds to USB HID page 0x0007 usage 0x0036
+</td>
         </tr><tr>
             <td><code>DOT</code></td>
             <td><code>52</code></td>
-            <td></td>
+            <td> Keyboard . and >
+ Corresponds to USB HID page 0x0007 usage 0x0037
+</td>
         </tr><tr>
             <td><code>SLASH</code></td>
             <td><code>53</code></td>
-            <td></td>
+            <td> Keyboard / and ?
+ Corresponds to USB HID page 0x0007 usage 0x0038
+</td>
         </tr><tr>
             <td><code>CAPS_LOCK</code></td>
             <td><code>54</code></td>
-            <td></td>
+            <td> Keyboard Caps Lock
+ Corresponds to USB HID page 0x0007 usage 0x0039
+</td>
         </tr><tr>
             <td><code>F1</code></td>
             <td><code>55</code></td>
-            <td></td>
+            <td> Keyboard F1
+ Corresponds to USB HID page 0x0007 usage 0x003a
+</td>
         </tr><tr>
             <td><code>F2</code></td>
             <td><code>56</code></td>
-            <td></td>
+            <td> Keyboard F2
+ Corresponds to USB HID page 0x0007 usage 0x003b
+</td>
         </tr><tr>
             <td><code>F3</code></td>
             <td><code>57</code></td>
-            <td></td>
+            <td> Keyboard F3
+ Corresponds to USB HID page 0x0007 usage 0x003c
+</td>
         </tr><tr>
             <td><code>F4</code></td>
             <td><code>58</code></td>
-            <td></td>
+            <td> Keyboard F4
+ Corresponds to USB HID page 0x0007 usage 0x003d
+</td>
         </tr><tr>
             <td><code>F5</code></td>
             <td><code>59</code></td>
-            <td></td>
+            <td> Keyboard F5
+ Corresponds to USB HID page 0x0007 usage 0x003e
+</td>
         </tr><tr>
             <td><code>F6</code></td>
             <td><code>60</code></td>
-            <td></td>
+            <td> Keyboard F6
+ Corresponds to USB HID page 0x0007 usage 0x003f
+</td>
         </tr><tr>
             <td><code>F7</code></td>
             <td><code>61</code></td>
-            <td></td>
+            <td> Keyboard F7
+ Corresponds to USB HID page 0x0007 usage 0x0040
+</td>
         </tr><tr>
             <td><code>F8</code></td>
             <td><code>62</code></td>
-            <td></td>
+            <td> Keyboard F8
+ Corresponds to USB HID page 0x0007 usage 0x0041
+</td>
         </tr><tr>
             <td><code>F9</code></td>
             <td><code>63</code></td>
-            <td></td>
+            <td> Keyboard F9
+ Corresponds to USB HID page 0x0007 usage 0x0042
+</td>
         </tr><tr>
             <td><code>F10</code></td>
             <td><code>64</code></td>
-            <td></td>
+            <td> Keyboard F10
+ Corresponds to USB HID page 0x0007 usage 0x0043
+</td>
         </tr><tr>
             <td><code>F11</code></td>
             <td><code>65</code></td>
-            <td></td>
+            <td> Keyboard F11
+ Corresponds to USB HID page 0x0007 usage 0x0044
+</td>
         </tr><tr>
             <td><code>F12</code></td>
             <td><code>66</code></td>
-            <td></td>
+            <td> Keyboard F12
+ Corresponds to USB HID page 0x0007 usage 0x0045
+</td>
         </tr><tr>
             <td><code>PRINT_SCREEN</code></td>
             <td><code>67</code></td>
-            <td></td>
+            <td> Keyboard Print Screen
+ Corresponds to USB HID page 0x0007 usage 0x0046
+</td>
         </tr><tr>
             <td><code>SCROLL_LOCK</code></td>
             <td><code>68</code></td>
-            <td></td>
+            <td> Keyboard Scroll Lock
+ Corresponds to USB HID page 0x0007 usage 0x0047
+</td>
         </tr><tr>
             <td><code>PAUSE</code></td>
             <td><code>69</code></td>
-            <td></td>
+            <td> Keyboard Pause
+ Corresponds to USB HID page 0x0007 usage 0x0048
+</td>
         </tr><tr>
             <td><code>INSERT</code></td>
             <td><code>70</code></td>
-            <td></td>
+            <td> Keyboard Insert
+ Corresponds to USB HID page 0x0007 usage 0x0049
+</td>
         </tr><tr>
             <td><code>HOME</code></td>
             <td><code>71</code></td>
-            <td></td>
+            <td> Keyboard Home
+ Corresponds to USB HID page 0x0007 usage 0x004a
+</td>
         </tr><tr>
             <td><code>PAGE_UP</code></td>
             <td><code>72</code></td>
-            <td></td>
+            <td> Keyboard Page Up
+ Corresponds to USB HID page 0x0007 usage 0x004b
+</td>
         </tr><tr>
             <td><code>DELETE</code></td>
             <td><code>73</code></td>
-            <td></td>
+            <td> Keyboard Forward Delete
+ Corresponds to USB HID page 0x0007 usage 0x004c
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>74</code></td>
-            <td></td>
+            <td> Keyboard End
+ Corresponds to USB HID page 0x0007 usage 0x004d
+</td>
         </tr><tr>
             <td><code>PAGE_DOWN</code></td>
             <td><code>75</code></td>
-            <td></td>
+            <td> Keyboard Page Down
+ Corresponds to USB HID page 0x0007 usage 0x004e
+</td>
         </tr><tr>
             <td><code>RIGHT</code></td>
             <td><code>76</code></td>
-            <td></td>
+            <td> Keyboard Right Arrow
+ Corresponds to USB HID page 0x0007 usage 0x004f
+</td>
         </tr><tr>
             <td><code>LEFT</code></td>
             <td><code>77</code></td>
-            <td></td>
+            <td> Keyboard Left Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0050
+</td>
         </tr><tr>
             <td><code>DOWN</code></td>
             <td><code>78</code></td>
-            <td></td>
+            <td> Keyboard Down Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0051
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>79</code></td>
-            <td></td>
+            <td> Keyboard Up Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0052
+</td>
         </tr><tr>
             <td><code>NON_US_BACKSLASH</code></td>
             <td><code>80</code></td>
-            <td></td>
+            <td> Keyboard Non-US \ and |
+ Corresponds to USB HID page 0x0007 usage 0x0064
+</td>
         </tr><tr>
             <td><code>LEFT_CTRL</code></td>
             <td><code>81</code></td>
-            <td></td>
+            <td> Keyboard Left Control
+ Corresponds to USB HID page 0x0007 usage 0x00e0
+</td>
         </tr><tr>
             <td><code>LEFT_SHIFT</code></td>
             <td><code>82</code></td>
-            <td></td>
+            <td> Keyboard Left Shift
+ Corresponds to USB HID page 0x0007 usage 0x00e1
+</td>
         </tr><tr>
             <td><code>LEFT_ALT</code></td>
             <td><code>83</code></td>
-            <td></td>
+            <td> Keyboard Left Alt
+ Corresponds to USB HID page 0x0007 usage 0x00e2
+</td>
         </tr><tr>
             <td><code>LEFT_META</code></td>
             <td><code>84</code></td>
-            <td></td>
+            <td> Keyboard Left GUI (Meta, Windows)
+ Corresponds to USB HID page 0x0007 usage 0x00e3
+</td>
         </tr><tr>
             <td><code>RIGHT_CTRL</code></td>
             <td><code>85</code></td>
-            <td></td>
+            <td> Keyboard Right Control
+ Corresponds to USB HID page 0x0007 usage 0x00e4
+</td>
         </tr><tr>
             <td><code>RIGHT_SHIFT</code></td>
             <td><code>86</code></td>
-            <td></td>
+            <td> Keyboard Right Shift
+ Corresponds to USB HID page 0x0007 usage 0x00e5
+</td>
         </tr><tr>
             <td><code>RIGHT_ALT</code></td>
             <td><code>87</code></td>
-            <td></td>
+            <td> Keyboard Right Alt
+ Corresponds to USB HID page 0x0007 usage 0x00e6
+</td>
         </tr><tr>
             <td><code>RIGHT_META</code></td>
             <td><code>88</code></td>
-            <td></td>
+            <td> Keyboard Right GUI (Meta, Windows)
+ Corresponds to USB HID page 0x0007 usage 0x00e7
+</td>
         </tr><tr>
             <td><code>NUM_LOCK</code></td>
             <td><code>512</code></td>
-            <td></td>
+            <td> Keypad Num Lock and Clear
+ Corresponds to USB HID page 0x0007 usage 0x0053
+</td>
         </tr><tr>
             <td><code>KEYPAD_SLASH</code></td>
             <td><code>513</code></td>
-            <td></td>
+            <td> Keypad /
+ Corresponds to USB HID page 0x0007 usage 0x0054
+</td>
         </tr><tr>
             <td><code>KEYPAD_ASTERISK</code></td>
             <td><code>514</code></td>
-            <td></td>
+            <td> Keypad *
+ Corresponds to USB HID page 0x0007 usage 0x0055
+</td>
         </tr><tr>
             <td><code>KEYPAD_MINUS</code></td>
             <td><code>515</code></td>
-            <td></td>
+            <td> Keypad -
+ Corresponds to USB HID page 0x0007 usage 0x0056
+</td>
         </tr><tr>
             <td><code>KEYPAD_PLUS</code></td>
             <td><code>516</code></td>
-            <td></td>
+            <td> Keypad +
+ Corresponds to USB HID page 0x0007 usage 0x0057
+</td>
         </tr><tr>
             <td><code>KEYPAD_ENTER</code></td>
             <td><code>517</code></td>
-            <td></td>
+            <td> Keypad ENTER
+ Corresponds to USB HID page 0x0007 usage 0x0058
+</td>
         </tr><tr>
             <td><code>KEYPAD_1</code></td>
             <td><code>518</code></td>
-            <td></td>
+            <td> Keypad 1 and End
+ Corresponds to USB HID page 0x0007 usage 0x0059
+</td>
         </tr><tr>
             <td><code>KEYPAD_2</code></td>
             <td><code>519</code></td>
-            <td></td>
+            <td> Keypad 2 and Down Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005a
+</td>
         </tr><tr>
             <td><code>KEYPAD_3</code></td>
             <td><code>520</code></td>
-            <td></td>
+            <td> Keypad 3 and Page Down
+ Corresponds to USB HID page 0x0007 usage 0x005b
+</td>
         </tr><tr>
             <td><code>KEYPAD_4</code></td>
             <td><code>521</code></td>
-            <td></td>
+            <td> Keypad 4 and Left Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005c
+</td>
         </tr><tr>
             <td><code>KEYPAD_5</code></td>
             <td><code>522</code></td>
-            <td></td>
+            <td> Keypad 5
+ Corresponds to USB HID page 0x0007 usage 0x005d
+</td>
         </tr><tr>
             <td><code>KEYPAD_6</code></td>
             <td><code>523</code></td>
-            <td></td>
+            <td> Keypad 6 and Right Arrow
+ Corresponds to USB HID page 0x0007 usage 0x005e
+</td>
         </tr><tr>
             <td><code>KEYPAD_7</code></td>
             <td><code>524</code></td>
-            <td></td>
+            <td> Keypad 7 and Home
+ Corresponds to USB HID page 0x0007 usage 0x005f
+</td>
         </tr><tr>
             <td><code>KEYPAD_8</code></td>
             <td><code>525</code></td>
-            <td></td>
+            <td> Keypad 8 and Up Arrow
+ Corresponds to USB HID page 0x0007 usage 0x0060
+</td>
         </tr><tr>
             <td><code>KEYPAD_9</code></td>
             <td><code>526</code></td>
-            <td></td>
+            <td> Keypad 9 and Page Up
+ Corresponds to USB HID page 0x0007 usage 0x0061
+</td>
         </tr><tr>
             <td><code>KEYPAD_0</code></td>
             <td><code>527</code></td>
-            <td></td>
+            <td> Keypad 0 and Insert
+ Corresponds to USB HID page 0x0007 usage 0x0062
+</td>
         </tr><tr>
             <td><code>KEYPAD_DOT</code></td>
             <td><code>528</code></td>
-            <td></td>
+            <td> Keypad . and Delete
+ Corresponds to USB HID page 0x0007 usage 0x0063
+</td>
         </tr><tr>
             <td><code>MEDIA_MUTE</code></td>
             <td><code>768</code></td>
@@ -1461,59 +1933,89 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ALT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The Alt (Alternative) key.
+ This key enables the alternate modifier function for interpreting
+ concurrent or subsequent keyboard input.
+ This key value is also used for the Apple Option key.
+</td>
         </tr><tr>
             <td><code>ALT_GRAPH</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The Alternate Graphics (AltGr or AltGraph) key.
+ This key is used enable the ISO Level 3 shift modifier (the standard
+ Shift key is the level 2 modifier). See [ISO9995-1].
+</td>
         </tr><tr>
             <td><code>CAPS_LOCK</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The Caps Lock (Capital) key.
+ Toggle capital character lock function for interpreting subsequent
+ keyboard input event.
+</td>
         </tr><tr>
             <td><code>CONTROL</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The Control or Ctrl key, to enable control modifier function for
+ interpreting concurrent or subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>META</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The Meta key, to enable meta modifier function for interpreting
+ concurrent or subsequent keyboard input.
+ This key value is used for the Windows Logo key and the Apple Command
+ or ⌘ key.
+</td>
         </tr><tr>
             <td><code>NUM_LOCK</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The NumLock or Number Lock key, to toggle numpad mode function for
+ interpreting subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>SCROLL_LOCK</code></td>
             <td><code>7</code></td>
-            <td></td>
+            <td> "ScrollLock" The Scroll Lock key, to toggle between scrolling and cursor
+ movement modes.
+</td>
         </tr><tr>
             <td><code>SHIFT</code></td>
             <td><code>8</code></td>
-            <td></td>
+            <td> The Shift key, to enable shift modifier function for interpreting
+ concurrent or subsequent keyboard input.
+</td>
         </tr><tr>
             <td><code>ARROW_DOWN</code></td>
             <td><code>33</code></td>
-            <td></td>
+            <td> The down arrow key, to navigate or traverse downward.
+</td>
         </tr><tr>
             <td><code>ARROW_LEFT</code></td>
             <td><code>34</code></td>
-            <td></td>
+            <td> The left arrow key, to navigate or traverse leftward.
+</td>
         </tr><tr>
             <td><code>ARROW_RIGHT</code></td>
             <td><code>35</code></td>
-            <td></td>
+            <td> The right arrow key, to navigate or traverse rightward.
+</td>
         </tr><tr>
             <td><code>ARROW_UP</code></td>
             <td><code>36</code></td>
-            <td></td>
+            <td> The up arrow key, to navigate or traverse upward.
+</td>
         </tr><tr>
             <td><code>END</code></td>
             <td><code>37</code></td>
-            <td></td>
+            <td> The End key, used with keyboard entry to go to the end of content.
+</td>
         </tr><tr>
             <td><code>HOME</code></td>
             <td><code>38</code></td>
-            <td></td>
+            <td> The Home key, used with keyboard entry, to go to start of content.
+ For the mobile phone Home key (which goes to the phone’s main screen),
+ use "GO_HOME".
+</td>
         </tr><tr>
             <td><code>PAGE_DOWN</code></td>
             <td><code>39</code></td>
@@ -1525,23 +2027,33 @@
         </tr><tr>
             <td><code>ENTER</code></td>
             <td><code>49</code></td>
-            <td></td>
+            <td> The Enter or ↵ key, to activate current selection or accept current input.
+ This key value is also used for the Return (Macintosh numpad) key.
+</td>
         </tr><tr>
             <td><code>TAB</code></td>
             <td><code>50</code></td>
-            <td></td>
+            <td> The Horizontal Tabulation Tab key.
+</td>
         </tr><tr>
             <td><code>BACKSPACE</code></td>
             <td><code>65</code></td>
-            <td></td>
+            <td> The Backspace key. This key value is also used for the key labeled Delete
+ on MacOS keyboards.
+</td>
         </tr><tr>
             <td><code>DELETE</code></td>
             <td><code>66</code></td>
-            <td></td>
+            <td> The Delete (Del) Key.
+ This key value is also used for the key labeled Delete on MacOS keyboards
+ when modified by the Fn key.
+</td>
         </tr><tr>
             <td><code>INSERT</code></td>
             <td><code>67</code></td>
-            <td></td>
+            <td> The Insert (Ins) key, to toggle between text modes for insertion or
+ overtyping.
+</td>
         </tr><tr>
             <td><code>F1</code></td>
             <td><code>97</code></td>
@@ -1593,19 +2105,27 @@
         </tr><tr>
             <td><code>CONTEXT_MENU</code></td>
             <td><code>129</code></td>
-            <td></td>
+            <td> Show the application’s context menu.
+ This key is commonly found between the right Meta key and the right
+ Control key.
+</td>
         </tr><tr>
             <td><code>ESCAPE</code></td>
             <td><code>130</code></td>
-            <td></td>
+            <td> The Esc key. This key was originally used to initiate an escape sequence,
+ but is now more generally used to exit or "escape" the current context,
+ such as closing a dialog or exiting full screen mode.
+</td>
         </tr><tr>
             <td><code>GO_BACK</code></td>
             <td><code>177</code></td>
-            <td></td>
+            <td> The Back key.
+</td>
         </tr><tr>
             <td><code>GO_HOME</code></td>
             <td><code>178</code></td>
-            <td></td>
+            <td> The Home key, which goes to the phone’s main screen.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.ui.policy/index.md b/sdk/fidl/fuchsia.ui.policy/index.md
index 4f1d202..4782f6a 100644
--- a/sdk/fidl/fuchsia.ui.policy/index.md
+++ b/sdk/fidl/fuchsia.ui.policy/index.md
@@ -794,23 +794,28 @@
         </tr><tr>
             <td><code>kHandheld</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Display is held in one or both hands.
+</td>
         </tr><tr>
             <td><code>kClose</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Display is used well within arm's reach.
+</td>
         </tr><tr>
             <td><code>kNear</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Display is used at arm's reach.
+</td>
         </tr><tr>
             <td><code>kMidrange</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Display is used beyond arm's reach.
+</td>
         </tr><tr>
             <td><code>kFar</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Display is used well beyond arm's reach.
+</td>
         </tr></table>
 
 ### PresentationMode {:#PresentationMode}
@@ -858,23 +863,28 @@
         </tr><tr>
             <td><code>kHandheld</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Display is held in one or both hands.
+</td>
         </tr><tr>
             <td><code>kClose</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Display is used well within arm's reach.
+</td>
         </tr><tr>
             <td><code>kNear</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Display is used at arm's reach.
+</td>
         </tr><tr>
             <td><code>kMidrange</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> Display is used beyond arm's reach.
+</td>
         </tr><tr>
             <td><code>kFar</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> Display is used well beyond arm's reach.
+</td>
         </tr></table>
 
 ### PresentationMode {:#PresentationMode}
diff --git a/sdk/fidl/fuchsia.ui.scenic.internal/index.md b/sdk/fidl/fuchsia.ui.scenic.internal/index.md
index d31825c..b788b41 100644
--- a/sdk/fidl/fuchsia.ui.scenic.internal/index.md
+++ b/sdk/fidl/fuchsia.ui.scenic.internal/index.md
@@ -520,7 +520,9 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>CONTENT_HAS_PRESENTED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The underlying Graph has connected its Link, called Present(), and the acquisition fences of
+ the Present() call have all be reached.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.update/index.md b/sdk/fidl/fuchsia.update/index.md
index 23cb3be..d1e193d 100644
--- a/sdk/fidl/fuchsia.update/index.md
+++ b/sdk/fidl/fuchsia.update/index.md
@@ -125,11 +125,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>USER</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The update check was initiated by an interactive user, or the user is
+ otherwise blocked and waiting for the result of this update check.
+</td>
         </tr><tr>
             <td><code>SERVICE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The update check was initiated by a service, in the background.
+</td>
         </tr></table>
 
 ### ManagerState {:#ManagerState}
@@ -170,31 +173,67 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>IDLE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The Manager is currently idle (in between updates).
+
+ Next states:
+ * `CHECKING_FOR_UPDATES`
+</td>
         </tr><tr>
             <td><code>CHECKING_FOR_UPDATES</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The Manager is currently checking for an update.
+
+ Next states:
+ * `IDLE` update is not available
+ * `UPDATE_AVAILABLE` update is available but not allowed by policy
+ * `PERFORMING_UPDATE` update is available and allowed by policy
+ * `ENCOUNTERED_ERROR` on error
+</td>
         </tr><tr>
             <td><code>UPDATE_AVAILABLE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The Manager has found an available update but is not allowed to update
+ due to policy.
+
+ Next states:
+ * `CHECKING_FOR_UPDATES` when CheckNow() is called or a background update starts
+</td>
         </tr><tr>
             <td><code>PERFORMING_UPDATE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The Manager has started the available update.
+
+ Next states:
+ * `WAITING_FOR_REBOOT` on success
+ * `ENCOUNTERED_ERROR` on error
+</td>
         </tr><tr>
             <td><code>WAITING_FOR_REBOOT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The update has been performed, and the device is waiting to be rebooted.
+
+ Next states:
+ * `FINALIZING_UPDATE` after device reboot
+ * `ENCOUNTERED_ERROR` on error
+</td>
         </tr><tr>
             <td><code>FINALIZING_UPDATE</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> The update is being finalized after reboot.
+
+ Next states:
+ * `IDLE` on success
+ * `ENCOUNTERED_ERROR` on error
+</td>
         </tr><tr>
             <td><code>ENCOUNTERED_ERROR</code></td>
             <td><code>6</code></td>
-            <td></td>
+            <td> The Manager is reporting to Omaha that an error has occurred during the
+ update.
+
+ Next states:
+ * `IDLE`
+</td>
         </tr></table>
 
 ### CheckStartedResult {:#CheckStartedResult}
@@ -208,15 +247,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>STARTED</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> The update check has been started.
+</td>
         </tr><tr>
             <td><code>IN_PROGRESS</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The update check was not started, as an update is already in progress, `monitor` is
+ attached to that update and will immediately get a OnState() call on current state.
+</td>
         </tr><tr>
             <td><code>THROTTLED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The update check was not started, because too many requests to check have
+ been made in a short period of time.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.web/index.md b/sdk/fidl/fuchsia.web/index.md
index 92fd586..086f36d 100644
--- a/sdk/fidl/fuchsia.web/index.md
+++ b/sdk/fidl/fuchsia.web/index.md
@@ -1963,7 +1963,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>REMOTE_DEBUGGING_PORT_NOT_OPENED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The remote debugging service was not opened.
+</td>
         </tr></table>
 
 ### ConsoleLogLevel {:#ConsoleLogLevel}
@@ -1977,23 +1978,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>100</code></td>
-            <td></td>
+            <td> No logging.
+</td>
         </tr><tr>
             <td><code>DEBUG</code></td>
             <td><code>-1</code></td>
-            <td></td>
+            <td> Outputs messages from `console.debug()` and above levels.
+</td>
         </tr><tr>
             <td><code>INFO</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Outputs messages from `console.log()`, `console.info()` and above levels.
+</td>
         </tr><tr>
             <td><code>WARN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Outputs messages from `console.warn()` and `console.error()`.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Outputs messages from `console.error()`.
+</td>
         </tr></table>
 
 ### FrameError {:#FrameError}
@@ -2008,19 +2014,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An internal error occured.
+</td>
         </tr><tr>
             <td><code>BUFFER_NOT_UTF8</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The provided buffer is not UTF-8 encoded.
+</td>
         </tr><tr>
             <td><code>INVALID_ORIGIN</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The Frame's URL does not match any of the origins provided by the caller.
+</td>
         </tr><tr>
             <td><code>NO_DATA_IN_MESSAGE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The required `data` property is missing from a <a class='link' href='#fuchsia.web.WebMessage'>fuchsia.web.WebMessage</a>.
+</td>
         </tr></table>
 
 ### NavigationControllerError {:#NavigationControllerError}
@@ -2035,11 +2045,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID_URL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The provided URL is invalid.
+</td>
         </tr><tr>
             <td><code>INVALID_HEADER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> At least one of the provided headers was invalid.
+</td>
         </tr></table>
 
 ### ReloadType {:#ReloadType}
@@ -2054,11 +2066,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PARTIAL_CACHE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Reloads the current entry, bypassing the cache for the main resource.
+</td>
         </tr><tr>
             <td><code>NO_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Reloads the current entry, bypassing the cache entirely.
+</td>
         </tr></table>
 
 ### LoadUrlReason {:#LoadUrlReason}
@@ -2073,11 +2087,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LINK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Navigation was initiated by the user following a link.
+</td>
         </tr><tr>
             <td><code>TYPED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Navigation was initiated by a user-provided URL.
+</td>
         </tr></table>
 
 ### PageType {:#PageType}
@@ -2092,11 +2108,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NORMAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Regular web page.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Error page.
+</td>
         </tr></table>
 
 ### ContextError {:#ContextError}
@@ -2110,7 +2128,8 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>REMOTE_DEBUGGING_PORT_NOT_OPENED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The remote debugging service was not opened.
+</td>
         </tr></table>
 
 ### ConsoleLogLevel {:#ConsoleLogLevel}
@@ -2124,23 +2143,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NONE</code></td>
             <td><code>100</code></td>
-            <td></td>
+            <td> No logging.
+</td>
         </tr><tr>
             <td><code>DEBUG</code></td>
             <td><code>-1</code></td>
-            <td></td>
+            <td> Outputs messages from `console.debug()` and above levels.
+</td>
         </tr><tr>
             <td><code>INFO</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Outputs messages from `console.log()`, `console.info()` and above levels.
+</td>
         </tr><tr>
             <td><code>WARN</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Outputs messages from `console.warn()` and `console.error()`.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Outputs messages from `console.error()`.
+</td>
         </tr></table>
 
 ### FrameError {:#FrameError}
@@ -2155,19 +2179,23 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INTERNAL_ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> An internal error occured.
+</td>
         </tr><tr>
             <td><code>BUFFER_NOT_UTF8</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The provided buffer is not UTF-8 encoded.
+</td>
         </tr><tr>
             <td><code>INVALID_ORIGIN</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The Frame's URL does not match any of the origins provided by the caller.
+</td>
         </tr><tr>
             <td><code>NO_DATA_IN_MESSAGE</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The required `data` property is missing from a <a class='link' href='#fuchsia.web.WebMessage'>fuchsia.web.WebMessage</a>.
+</td>
         </tr></table>
 
 ### NavigationControllerError {:#NavigationControllerError}
@@ -2182,11 +2210,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>INVALID_URL</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The provided URL is invalid.
+</td>
         </tr><tr>
             <td><code>INVALID_HEADER</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> At least one of the provided headers was invalid.
+</td>
         </tr></table>
 
 ### ReloadType {:#ReloadType}
@@ -2201,11 +2231,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>PARTIAL_CACHE</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Reloads the current entry, bypassing the cache for the main resource.
+</td>
         </tr><tr>
             <td><code>NO_CACHE</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Reloads the current entry, bypassing the cache entirely.
+</td>
         </tr></table>
 
 ### LoadUrlReason {:#LoadUrlReason}
@@ -2220,11 +2252,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LINK</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Navigation was initiated by the user following a link.
+</td>
         </tr><tr>
             <td><code>TYPED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Navigation was initiated by a user-provided URL.
+</td>
         </tr></table>
 
 ### PageType {:#PageType}
@@ -2239,11 +2273,13 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>NORMAL</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> Regular web page.
+</td>
         </tr><tr>
             <td><code>ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Error page.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.wlan.ap.policy/index.md b/sdk/fidl/fuchsia.wlan.ap.policy/index.md
index ff81288..dccd2a7 100644
--- a/sdk/fidl/fuchsia.wlan.ap.policy/index.md
+++ b/sdk/fidl/fuchsia.wlan.ap.policy/index.md
@@ -225,15 +225,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>BAND_ANY</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> allows the band to switch depending on device
+ operating mode and environment
+</td>
         </tr><tr>
             <td><code>BAND_2_4GHZ</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> restricted to 2.4ghz bands only
+</td>
         </tr><tr>
             <td><code>BAND_5GHZ</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> restricted to 5ghz bands only
+</td>
         </tr></table>
 
 ### ApState {:#ApState}
@@ -247,7 +251,9 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>STARTING</code></td>
             <td><code>0</code></td>
-            <td></td>
+            <td> confirmation that the softap interface will attempt to be
+ created (this can take seconds on some devices)
+</td>
         </tr><tr>
             <td><code>UP</code></td>
             <td><code>1</code></td>
diff --git a/sdk/fidl/fuchsia.wlan.common/index.md b/sdk/fidl/fuchsia.wlan.common/index.md
index 32d1369..e30d0b7 100644
--- a/sdk/fidl/fuchsia.wlan.common/index.md
+++ b/sdk/fidl/fuchsia.wlan.common/index.md
@@ -117,23 +117,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>HR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> IEEE 802.11b, used for DSSS, HR/DSSS, ERP-DSSS/CCK
+</td>
         </tr><tr>
             <td><code>ERP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> IEEE 802.11a/g, used for ERP-OFDM
+</td>
         </tr><tr>
             <td><code>HT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> IEEE 802.11n
+</td>
         </tr><tr>
             <td><code>VHT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> IEEE 802.11ac
+</td>
         </tr><tr>
             <td><code>HEW</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> IEEE 802.11ax
+</td>
         </tr></table>
 
 ### CBW {:#CBW}
@@ -241,7 +246,9 @@
         </tr><tr>
             <td><code>TEMP_DIRECT_SME_CHANNEL</code></td>
             <td><code>3141592</code></td>
-            <td></td>
+            <td> Temporary feature flag for incrementally transitioning drivers to use
+ SME channel on iface creation.
+</td>
         </tr></table>
 
 ### RequestStatus {:#RequestStatus}
@@ -285,23 +292,28 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>HR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> IEEE 802.11b, used for DSSS, HR/DSSS, ERP-DSSS/CCK
+</td>
         </tr><tr>
             <td><code>ERP</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> IEEE 802.11a/g, used for ERP-OFDM
+</td>
         </tr><tr>
             <td><code>HT</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> IEEE 802.11n
+</td>
         </tr><tr>
             <td><code>VHT</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> IEEE 802.11ac
+</td>
         </tr><tr>
             <td><code>HEW</code></td>
             <td><code>5</code></td>
-            <td></td>
+            <td> IEEE 802.11ax
+</td>
         </tr></table>
 
 ### CBW {:#CBW}
@@ -409,7 +421,9 @@
         </tr><tr>
             <td><code>TEMP_DIRECT_SME_CHANNEL</code></td>
             <td><code>3141592</code></td>
-            <td></td>
+            <td> Temporary feature flag for incrementally transitioning drivers to use
+ SME channel on iface creation.
+</td>
         </tr></table>
 
 
diff --git a/sdk/fidl/fuchsia.wlan.policy/index.md b/sdk/fidl/fuchsia.wlan.policy/index.md
index 49350de..20df43a 100644
--- a/sdk/fidl/fuchsia.wlan.policy/index.md
+++ b/sdk/fidl/fuchsia.wlan.policy/index.md
@@ -600,11 +600,15 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>LOCAL_ONLY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Allows for connectivity between co-located devices.  Local only access points do not
+ forward traffic to other network connections.
+</td>
         </tr><tr>
             <td><code>UNRESTRICTED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Allows for full connectivity with traffic potentially being forwarded
+ to other network connections (ex., tethering mode).
+</td>
         </tr></table>
 
 ### OperatingState {:#OperatingState}
@@ -619,15 +623,20 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FAILED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Access point operation failed.  Access points that enter the failed state will
+ have one update informing registered listeners of the failure and then an
+ additional update with the access point removed from the list.
+</td>
         </tr><tr>
             <td><code>STARTING</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Access point operation is starting up.
+</td>
         </tr><tr>
             <td><code>ACTIVE</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Access point operation is active.
+</td>
         </tr></table>
 
 ### ScanErrorCode {:#ScanErrorCode}
@@ -642,11 +651,14 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>GENERAL_ERROR</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Unexpected scan error without a specific cause.
+</td>
         </tr><tr>
             <td><code>CANCELLED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Scan was cancelled and stopped.  This can happen due to operating state changes,
+ higher priority operations or conflicting requests.
+</td>
         </tr></table>
 
 ### WlanClientState {:#WlanClientState}
@@ -683,15 +695,19 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>SUPPORTED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Denotes that the network is supported and connections can be attempted (given
+ appropriate credentials when required).
+</td>
         </tr><tr>
             <td><code>DISALLOWED_INSECURE</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The network uses a deprecated security protocol and is explicitly not supported.
+</td>
         </tr><tr>
             <td><code>DISALLOWED_NOT_SUPPORTED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The network uses a currently unsupported security protocol.
+</td>
         </tr></table>
 
 ### NetworkConfigChangeError {:#NetworkConfigChangeError}
@@ -722,19 +738,24 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>FAILED</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The connection attempt was terminated due to an error.
+</td>
         </tr><tr>
             <td><code>DISCONNECTED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The network is disconnected.
+</td>
         </tr><tr>
             <td><code>CONNECTING</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The device is attempting a connection to a network.
+</td>
         </tr><tr>
             <td><code>CONNECTED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The connection is now established.  Note: This does not make any guarantees
+ about higher level network reachability.
+</td>
         </tr></table>
 
 ### DisconnectStatus {:#DisconnectStatus}
@@ -749,19 +770,29 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>TIMED_OUT</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> The requested connection attempt failed due to timeout.
+</td>
         </tr><tr>
             <td><code>CREDENTIALS_FAILED</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> The requested connection attempt failed due to suspected credential failure.
+</td>
         </tr><tr>
             <td><code>CONNECTION_STOPPED</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> The existing connection was explicitly disconnected by an action of wlan
+ service on this device.  This can be the result of wlan connections being
+ disabled, network configuration being removed or a connection attempt to a
+ different network (as examples).
+</td>
         </tr><tr>
             <td><code>CONNECTION_FAILED</code></td>
             <td><code>4</code></td>
-            <td></td>
+            <td> The existing connection failed unexpectedly in a way that is not an
+ explicitly triggered disconnect by the device (or user).  Examples
+ of unexpected disconnections include: an underlying error (driver,
+ firmware, etc.), beacon loss, access point failure.
+</td>
         </tr></table>
 
 ### SecurityType {:#SecurityType}
@@ -809,15 +840,18 @@
     <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
             <td><code>ANY</code></td>
             <td><code>1</code></td>
-            <td></td>
+            <td> Allows for band switching depending on device operating mode and environment.
+</td>
         </tr><tr>
             <td><code>ONLY_2_4GHZ</code></td>
             <td><code>2</code></td>
-            <td></td>
+            <td> Restricted to 2.4 GHz bands only.
+</td>
         </tr><tr>
             <td><code>ONLY_5GHZ</code></td>
             <td><code>3</code></td>
-            <td></td>
+            <td> Restricted to 5 GHz bands only.
+</td>
         </tr></table>