[typescript] TypeScript-ify accessibility/AccessibilityModel.js

Bug: chromium:1011811
Change-Id: Iec3dcb19760dd5128c7c24a8c7f02eccb3803ed2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2387722
Reviewed-by: Simon Zünd <[email protected]>
Commit-Queue: Peter Marshall <[email protected]>
diff --git a/front_end/accessibility/AccessibilityNodeView.js b/front_end/accessibility/AccessibilityNodeView.js
index bf5be91..75ba5c5 100644
--- a/front_end/accessibility/AccessibilityNodeView.js
+++ b/front_end/accessibility/AccessibilityNodeView.js
@@ -9,7 +9,7 @@
 import * as SDK from '../sdk/sdk.js';
 import * as UI from '../ui/ui.js';
 
-import {AccessibilityNode} from './AccessibilityModel.js';  // eslint-disable-line no-unused-vars
+import {AccessibilityNode, CoreAxPropertyName, CoreOrProtocolAxProperty} from './AccessibilityModel.js';  // eslint-disable-line no-unused-vars
 import {AXAttributes, AXNativeSourceTypes, AXSourceTypes} from './AccessibilityStrings.js';
 import {AccessibilitySubPane} from './AccessibilitySubPane.js';
 
@@ -97,7 +97,7 @@
     treeOutline.element.classList.remove('hidden');
 
     /**
-     * @param {!Protocol.Accessibility.AXProperty} property
+     * @param {!CoreOrProtocolAxProperty} property
      */
     function addProperty(property) {
       treeOutline.appendChild(
@@ -108,8 +108,12 @@
       addProperty(property);
     }
 
-    const roleProperty = /** @type {!Protocol.Accessibility.AXProperty} */ ({name: 'role', value: axNode.role()});
-    addProperty(roleProperty);
+    const role = axNode.role();
+    if (role) {
+      /** @type {!CoreOrProtocolAxProperty} */
+      const roleProperty = {name: CoreAxPropertyName.Role, value: role};
+      addProperty(roleProperty);
+    }
     for (const property of /** @type {!Array.<!Protocol.Accessibility.AXProperty>} */ (axNode.properties())) {
       addProperty(property);
     }
@@ -296,7 +300,7 @@
  */
 export class AXNodePropertyTreePropertyElement extends AXNodePropertyTreeElement {
   /**
-   * @param {!Protocol.Accessibility.AXProperty} property
+   * @param {!CoreOrProtocolAxProperty} property
    * @param {!AccessibilityNode} axNode
    */
   constructor(property, axNode) {