| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| dialog { |
| visibility: hidden; |
| } |
| |
| ::backdrop { |
| position: absolute; |
| height: 100px; |
| width: 100px; |
| background: red; |
| } |
| |
| /* This shouldn't be matched, dialog is not the parent of ::backdrop. |
| * It is given high specificity so we actually test something. |
| */ |
| #dialog-parent > #dialog > ::backdrop, |
| #dialog-parent > #dialog ::backdrop { |
| background: red; |
| } |
| |
| #dialog-parent > ::backdrop { |
| top: 100px; |
| left: 100px; |
| background: green; |
| } |
| |
| #backdrop-ancestor ::backdrop { |
| top: 100px; |
| left: 300px; |
| background: green; |
| } |
| </style> |
| </head> |
| <body> |
| Test ::backdrop used in descendant selectors. The test passes if there are two green boxes and no red. |
| |
| <div id="dialog-parent"> |
| <dialog id="dialog"></dialog> |
| </div> |
| <div id="backdrop-ancestor"> |
| <p><span><dialog></dialog></span></p> |
| </div> |
| <script> |
| var dialogs = document.querySelectorAll('dialog'); |
| for (var i = 0; i < dialogs.length; ++i) |
| dialogs[i].showModal(); |
| </script> |
| </body> |
| </html> |