{
    "the-lostpointercapture-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Document.json",
            "name": "lostpointercapture_event",
            "slug": "API/Document/lostpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Document/lostpointercapture_event",
            "summary": "The lostpointercapture event is fired when a captured pointer is released.",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Document: lostpointercapture event"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "lostpointercapture_event",
            "slug": "API/HTMLElement/lostpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/lostpointercapture_event",
            "summary": "The lostpointercapture event is fired when a captured pointer is released.",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: lostpointercapture event"
        }
    ],
    "dom-globaleventhandlers-onlostpointercapture": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Document.json",
            "name": "lostpointercapture_event",
            "slug": "API/Document/lostpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Document/lostpointercapture_event",
            "summary": "The lostpointercapture event is fired when a captured pointer is released.",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Document: lostpointercapture event"
        },
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "lostpointercapture_event",
            "slug": "API/HTMLElement/lostpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/lostpointercapture_event",
            "summary": "The lostpointercapture event is fired when a captured pointer is released.",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: lostpointercapture event"
        }
    ],
    "the-gotpointercapture-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "gotpointercapture_event",
            "slug": "API/Element/gotpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/gotpointercapture_event",
            "summary": "The gotpointercapture event is fired when an element captures a pointer using setPointerCapture().",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: gotpointercapture event"
        }
    ],
    "dom-globaleventhandlers-ongotpointercapture": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "gotpointercapture_event",
            "slug": "API/Element/gotpointercapture_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/gotpointercapture_event",
            "summary": "The gotpointercapture event is fired when an element captures a pointer using setPointerCapture().",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "17"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: gotpointercapture event"
        }
    ],
    "dom-element-haspointercapture": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "hasPointerCapture",
            "slug": "API/Element/hasPointerCapture",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/hasPointerCapture",
            "summary": "The hasPointerCapture() method of the Element interface checks whether the element on which it is invoked has pointer capture for the pointer identified by the given pointer ID.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: hasPointerCapture() method"
        }
    ],
    "the-pointercancel-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointercancel_event",
            "slug": "API/Element/pointercancel_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointercancel_event",
            "summary": "The pointercancel event is fired when the browser determines that there are unlikely to be any more pointer events, or if after the pointerdown event is fired, the pointer is then used to manipulate the viewport by panning, zooming, or scrolling.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointercancel"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointercancel event"
        }
    ],
    "dom-globaleventhandlers-onpointercancel": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointercancel_event",
            "slug": "API/Element/pointercancel_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointercancel_event",
            "summary": "The pointercancel event is fired when the browser determines that there are unlikely to be any more pointer events, or if after the pointerdown event is fired, the pointer is then used to manipulate the viewport by panning, zooming, or scrolling.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointercancel"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointercancel event"
        }
    ],
    "the-pointerdown-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerdown_event",
            "slug": "API/Element/pointerdown_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerdown_event",
            "summary": "The pointerdown event is fired when a pointer becomes active. For mouse, it is fired when the device transitions from no buttons pressed to at least one button pressed. For touch, it is fired when physical contact is made with the digitizer. For pen, it is fired when the stylus makes physical contact with the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerdown"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerdown event"
        }
    ],
    "dom-globaleventhandlers-onpointerdown": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerdown_event",
            "slug": "API/Element/pointerdown_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerdown_event",
            "summary": "The pointerdown event is fired when a pointer becomes active. For mouse, it is fired when the device transitions from no buttons pressed to at least one button pressed. For touch, it is fired when physical contact is made with the digitizer. For pen, it is fired when the stylus makes physical contact with the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerdown"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerdown event"
        }
    ],
    "the-pointerenter-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerenter_event",
            "slug": "API/Element/pointerenter_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerenter_event",
            "summary": "The pointerenter event fires when a pointing device is moved into the hit test boundaries of an element or one of its descendants, including as a result of a pointerdown event from a device that does not support hover (see pointerdown).",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerenter"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerenter event"
        }
    ],
    "dom-globaleventhandlers-onpointerenter": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerenter_event",
            "slug": "API/Element/pointerenter_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerenter_event",
            "summary": "The pointerenter event fires when a pointing device is moved into the hit test boundaries of an element or one of its descendants, including as a result of a pointerdown event from a device that does not support hover (see pointerdown).",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerenter"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerenter event"
        }
    ],
    "the-pointerleave-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerleave_event",
            "slug": "API/Element/pointerleave_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerleave_event",
            "summary": "The pointerleave event is fired when a pointing device is moved out of the hit test boundaries of an element. For pen devices, this event is fired when the stylus leaves the hover range detectable by the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerleave"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerleave event"
        }
    ],
    "dom-globaleventhandlers-onpointerleave": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerleave_event",
            "slug": "API/Element/pointerleave_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerleave_event",
            "summary": "The pointerleave event is fired when a pointing device is moved out of the hit test boundaries of an element. For pen devices, this event is fired when the stylus leaves the hover range detectable by the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerleave"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerleave event"
        }
    ],
    "the-pointermove-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointermove_event",
            "slug": "API/Element/pointermove_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointermove_event",
            "summary": "The pointermove event is fired when a pointer changes coordinates, and the pointer has not been canceled by a browser touch-action.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointermove"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointermove event"
        }
    ],
    "dom-globaleventhandlers-onpointermove": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointermove_event",
            "slug": "API/Element/pointermove_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointermove_event",
            "summary": "The pointermove event is fired when a pointer changes coordinates, and the pointer has not been canceled by a browser touch-action.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointermove"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointermove event"
        }
    ],
    "the-pointerout-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerout_event",
            "slug": "API/Element/pointerout_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerout_event",
            "summary": "The pointerout event is fired for several reasons including: pointing device is moved out of the hit test boundaries of an element; firing the pointerup event for a device that does not support hover (see pointerup); after firing the pointercancel event (see pointercancel); when a pen stylus leaves the hover range detectable by the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerout"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerout event"
        }
    ],
    "dom-globaleventhandlers-onpointerout": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerout_event",
            "slug": "API/Element/pointerout_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerout_event",
            "summary": "The pointerout event is fired for several reasons including: pointing device is moved out of the hit test boundaries of an element; firing the pointerup event for a device that does not support hover (see pointerup); after firing the pointercancel event (see pointercancel); when a pen stylus leaves the hover range detectable by the digitizer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerout"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerout event"
        }
    ],
    "the-pointerover-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerover_event",
            "slug": "API/Element/pointerover_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerover_event",
            "summary": "The pointerover event is fired when a pointing device is moved into an element's hit test boundaries.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerover"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerover event"
        }
    ],
    "dom-globaleventhandlers-onpointerover": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerover_event",
            "slug": "API/Element/pointerover_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerover_event",
            "summary": "The pointerover event is fired when a pointing device is moved into an element's hit test boundaries.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerover"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerover event"
        }
    ],
    "the-pointerrawupdate-event": [
        {
            "engines": [
                "blink"
            ],
            "filename": "api/Element.json",
            "name": "pointerrawupdate_event",
            "slug": "API/Element/pointerrawupdate_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerrawupdate_event",
            "summary": "The pointerrawupdate PointerEvent is fired when a pointer changes any properties that don't fire pointerdown or pointerup events. See pointermove for a list of these properties.",
            "support": {
                "chrome": {
                    "version_added": "77"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerrawupdate event"
        }
    ],
    "dom-globaleventhandlers-onpointerrawupdate": [
        {
            "engines": [
                "blink"
            ],
            "filename": "api/Element.json",
            "name": "pointerrawupdate_event",
            "slug": "API/Element/pointerrawupdate_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerrawupdate_event",
            "summary": "The pointerrawupdate PointerEvent is fired when a pointer changes any properties that don't fire pointerdown or pointerup events. See pointermove for a list of these properties.",
            "support": {
                "chrome": {
                    "version_added": "77"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": false
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerrawupdate event"
        }
    ],
    "the-pointerup-event": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerup_event",
            "slug": "API/Element/pointerup_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerup_event",
            "summary": "The pointerup event is fired when a pointer is no longer active.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerup"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerup event"
        }
    ],
    "dom-globaleventhandlers-onpointerup": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "pointerup_event",
            "slug": "API/Element/pointerup_event",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/pointerup_event",
            "summary": "The pointerup event is fired when a pointer is no longer active.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "alternative_name": "mspointerup"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: pointerup event"
        }
    ],
    "dom-element-releasepointercapture": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "releasePointerCapture",
            "slug": "API/Element/releasePointerCapture",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/releasePointerCapture",
            "summary": "The releasePointerCapture() method of the Element interface releases (stops) pointer capture that was previously set for a specific (PointerEvent) pointer.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "ms"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: releasePointerCapture() method"
        }
    ],
    "dom-element-setpointercapture": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "setPointerCapture",
            "slug": "API/Element/setPointerCapture",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element/setPointerCapture",
            "summary": "The setPointerCapture() method of the Element interface is used to designate a specific element as the capture target of future pointer events. Subsequent events for the pointer will be targeted at the capture element until capture is released (via Element.releasePointerCapture() or the pointerup event is fired).",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59",
                    "notes": "Before Firefox 82, <code>setPointerCapture()</code> throws <code>InvalidPointerId</code> for an invalid <code>pointerId</code> argument. From Firefox 82, it throws <a href='https://w3c.github.io/pointerevents/#setting-pointer-capture'>the specified</a> <code>NotFoundError</code> exception. See <a href='https://bugzil.la/1662124'>bug 1662124</a>."
                },
                "firefox_android": {
                    "version_added": "79",
                    "notes": "Before Firefox 82, <code>setPointerCapture()</code> throws <code>InvalidPointerId</code> for an invalid <code>pointerId</code> argument. From Firefox 82, it throws <a href='https://w3c.github.io/pointerevents/#setting-pointer-capture'>the specified</a> <code>NotFoundError</code> exception. See <a href='https://bugzil.la/1662124'>bug 1662124</a>."
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "ms"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element: setPointerCapture() method"
        }
    ],
    "extensions-to-the-element-interface": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Element.json",
            "name": "Element",
            "slug": "API/Element",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Element",
            "summary": "Element is the most general base class from which all element objects (i.e. objects that represent elements) in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element.",
            "support": {
                "chrome": {
                    "version_added": "1"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "1"
                },
                "firefox_android": "mirror",
                "ie": {
                    "version_added": "4"
                },
                "oculus": "mirror",
                "opera": {
                    "version_added": "8"
                },
                "opera_android": {
                    "version_added": "10.1"
                },
                "safari": {
                    "version_added": "1"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "37"
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Element"
        }
    ],
    "dom-navigator-maxtouchpoints": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/Navigator.json",
            "name": "maxTouchPoints",
            "slug": "API/Navigator/maxTouchPoints",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Navigator/maxTouchPoints",
            "summary": "The maxTouchPoints read-only property of the Navigator interface returns the maximum number of simultaneous touch contact points are supported by the current device.",
            "support": {
                "chrome": {
                    "version_added": "35"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "ms"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Navigator: maxTouchPoints property"
        }
    ],
    "dom-pointerevent-constructor": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "PointerEvent",
            "slug": "API/PointerEvent/PointerEvent",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/PointerEvent",
            "summary": "The PointerEvent() constructor creates a new synthetic and untrusted PointerEvent object instance.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "MS",
                        "partial_implementation": true,
                        "notes": "See <a href='https://msdn.microsoft.com/library/dn304886'>MSDN Pointer events updates</a>."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: PointerEvent() constructor"
        }
    ],
    "dom-pointerevent-getcoalescedevents": [
        {
            "engines": [
                "blink",
                "gecko"
            ],
            "partial": [
                "gecko"
            ],
            "filename": "api/PointerEvent.json",
            "name": "getCoalescedEvents",
            "slug": "API/PointerEvent/getCoalescedEvents",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/getCoalescedEvents",
            "summary": "The getCoalescedEvents() method of the PointerEvent interface returns a sequence of PointerEvent instances that were coalesced (merged) into a single pointermove or pointerrawupdate event. Instead of a stream of many pointermove events, user agents coalesce multiple updates into a single event. This helps with performance as the user agent has less event handling to perform, but there is a reduction in the granularity and accuracy when tracking, especially with fast and large movements.",
            "support": {
                "chrome": {
                    "version_added": "58"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79",
                    "partial_implementation": true,
                    "notes": "The method always returns an empty array, regardless of the user's actions."
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: getCoalescedEvents() method"
        }
    ],
    "dom-pointerevent-height": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "height",
            "slug": "API/PointerEvent/height",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/height",
            "summary": "The height read-only property of the PointerEvent interface represents the height of the pointer's contact geometry, along the y-axis (in CSS pixels). Depending on the source of the pointer device (for example a finger), for a given pointer, each event may produce a different value.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "partial_implementation": true,
                        "notes": "Returns values in screen pixels instead of CSS document pixels."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: height property"
        }
    ],
    "dom-pointerevent-isprimary": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "isPrimary",
            "slug": "API/PointerEvent/isPrimary",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary",
            "summary": "The isPrimary read-only property of the PointerEvent interface indicates whether or not the pointer device that created the event is the primary pointer. It returns true if the pointer that caused the event to be fired is the primary one and returns false otherwise.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: isPrimary property"
        }
    ],
    "dom-pointerevent-pointerid": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "pointerId",
            "slug": "API/PointerEvent/pointerId",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId",
            "summary": "The pointerId read-only property of the PointerEvent interface is an identifier assigned to a given pointer event. The identifier is unique, being different from the identifiers of all other active pointer events. Since the value may be randomly generated, it is not guaranteed to convey any particular meaning.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: pointerId property"
        }
    ],
    "dom-pointerevent-pointertype": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "pointerType",
            "slug": "API/PointerEvent/pointerType",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType",
            "summary": "The pointerType read-only property of the PointerEvent interface indicates the device type (mouse, pen, or touch) that caused a given pointer event.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "partial_implementation": true,
                        "notes": "Returns an integer enumeration instead of a string."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: pointerType property"
        }
    ],
    "dom-pointerevent-pressure": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "pressure",
            "slug": "API/PointerEvent/pressure",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pressure",
            "summary": "The pressure read-only property of the PointerEvent interface indicates the normalized pressure of the pointer input.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "partial_implementation": true,
                        "notes": "Returns 0 instead of 0.5 on hardware that doesn't support pressure."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: pressure property"
        }
    ],
    "dom-pointerevent-tangentialpressure": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "tangentialPressure",
            "slug": "API/PointerEvent/tangentialPressure",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tangentialPressure",
            "summary": "The tangentialPressure read-only property of the PointerEvent interface represents the normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress).",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": "mirror",
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: tangentialPressure property"
        }
    ],
    "dom-pointerevent-tiltx": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "tiltX",
            "slug": "API/PointerEvent/tiltX",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltX",
            "summary": "The tiltX read-only property of the PointerEvent interface is the angle (in degrees) between the Y-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: tiltX property"
        }
    ],
    "dom-pointerevent-tilty": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "tiltY",
            "slug": "API/PointerEvent/tiltY",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltY",
            "summary": "The tiltY read-only property of the PointerEvent interface is the angle (in degrees) between the X-Z plane of the pointer and the screen. This property is typically only useful for a pen/stylus pointer type.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": "10"
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: tiltY property"
        }
    ],
    "dom-pointerevent-twist": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "twist",
            "slug": "API/PointerEvent/twist",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/twist",
            "summary": "The twist read-only property of the PointerEvent interface represents the clockwise rotation of the pointer (e.g., pen stylus) around its major axis, in degrees.",
            "support": {
                "chrome": {
                    "version_added": "57"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "18"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: twist property"
        }
    ],
    "dom-pointerevent-width": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "width",
            "slug": "API/PointerEvent/width",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/width",
            "summary": "The width read-only property of the PointerEvent interface represents the width of the pointer's contact geometry along the x-axis, measured in CSS pixels. Depending on the source of the pointer device (such as a finger), for a given pointer, each event may produce a different value.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "partial_implementation": true,
                        "notes": "Returns values in screen pixels instead of CSS document pixels."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent: width property"
        }
    ],
    "pointerevent-interface": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "api/PointerEvent.json",
            "name": "PointerEvent",
            "slug": "API/PointerEvent",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent",
            "summary": "The PointerEvent interface represents the state of a DOM event produced by a pointer such as the geometry of the contact point, the device type that generated the event, the amount of pressure that was applied on the contact surface, etc.",
            "support": {
                "chrome": {
                    "version_added": "55"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "59"
                },
                "firefox_android": {
                    "version_added": "79"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "MS",
                        "partial_implementation": true,
                        "notes": "See <a href='https://msdn.microsoft.com/library/dn304886'>MSDN Pointer events updates</a>."
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "PointerEvent"
        }
    ],
    "the-touch-action-css-property": [
        {
            "engines": [
                "blink",
                "gecko",
                "webkit"
            ],
            "filename": "css/properties/touch-action.json",
            "name": "touch-action",
            "slug": "CSS/touch-action",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action",
            "summary": "The touch-action CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).",
            "support": {
                "chrome": {
                    "version_added": "36"
                },
                "chrome_android": "mirror",
                "edge": {
                    "version_added": "12"
                },
                "firefox": {
                    "version_added": "52",
                    "notes": "Not applicable to Firefox platforms that support neither pointer nor touch events."
                },
                "firefox_android": {
                    "version_added": "52"
                },
                "ie": [
                    {
                        "version_added": "11"
                    },
                    {
                        "version_added": "10",
                        "prefix": "-ms-"
                    }
                ],
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": "mirror",
                "safari": {
                    "version_added": "13"
                },
                "safari_ios": {
                    "version_added": "9.3"
                },
                "samsunginternet_android": "mirror",
                "webview_android": "mirror",
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "caniuse": {
                "feature": "css-touch-action",
                "title": "CSS touch-action property"
            },
            "title": "touch-action"
        }
    ]
}
