diff --git a/index.bs b/index.bs
index ad7a71e..5cf2551 100644
--- a/index.bs
+++ b/index.bs
@@ -34,6 +34,14 @@ url: https://html.spec.whatwg.org/multipage/forms.html#context-menus; type: dfn;
text: contextmenu
url: https://www.w3.org/TR/pointerevents3/#pointerevent-interface; type: interface; spec: pointerevents3
text: PointerEvent
+url: https://dom.spec.whatwg.org/#concept-tree-ancestor; type: dfn;
+ text: ancestor
+url: https://www.w3.org/TR/CSS21/visuren.html#x43; type: dfn;
+ text: stacking context
+url: https://drafts.csswg.org/css-position-3/#positioned-box; type: dfn;
+ text: positioned
+url: https://drafts.csswg.org/css-position-4/#paint-a-stacking-context; type: dfn;
+ text: painting a stacking context
diff --git a/sections/event-types.txt b/sections/event-types.txt
index 115fa60..4245c83 100644
--- a/sections/event-types.txt
+++ b/sections/event-types.txt
@@ -552,6 +552,8 @@ events.
readonly attribute long screenY;
readonly attribute long clientX;
readonly attribute long clientY;
+ readonly attribute long layerX;
+ readonly attribute long layerY;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
@@ -604,6 +606,26 @@ events.
0
.
+
layerX
+
+ The horizontal offset from the nearest ancestor element which
+ is a stacking context, is positioned, or paints in the
+ positioned phase when painting a stacking context.
+
+ The un-initialized value of this attribute MUST be
+ 0
.
+
+
+ layerY
+
+ The vertical offset from the nearest ancestor element which
+ is a stacking context, is positioned, or paints in the
+ positioned phase when painting a stacking context.
+
+ The un-initialized value of this attribute MUST be
+ 0
.
+
+
ctrlKey
Refer to the {{KeyboardEvent}}'s {{KeyboardEvent/ctrlKey}} attribute.
@@ -1246,6 +1268,10 @@ events.
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1363,6 +1389,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1470,6 +1500,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1521,6 +1555,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1590,6 +1628,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1644,6 +1686,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1701,6 +1747,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1758,6 +1808,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1820,6 +1874,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1872,6 +1930,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |
@@ -1926,6 +1988,10 @@ myDiv.addEventListener("auxclick", function(e) {
| | within the viewport |
| | {{MouseEvent}}.{{MouseEvent/clientY}} : value based on the pointer position |
| | within the viewport |
+ | | {{MouseEvent}}.{{MouseEvent/layerX}} : value based on the pointer position |
+ | | within the containing element |
+ | | {{MouseEvent}}.{{MouseEvent/layerY}} : value based on the pointer position |
+ | | within the containing element |
| | {{MouseEvent}}.{{MouseEvent/altKey}} : true
if KEYCAP{Alt} |
| | modifier was active, otherwise false
|
| | {{MouseEvent}}.{{MouseEvent/ctrlKey}} : true
if KEYCAP{Control} |