{
  "title":"CSS display: contents",
  "description":"`display: contents` causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques.",
  "spec":"https://w3c.github.io/csswg-drafts/css-display/",
  "status":"cr",
  "links":[
    {
      "url":"https://rachelandrew.co.uk/archives/2016/01/29/vanishing-boxes-with-display-contents/",
      "title":"Vanishing boxes with display contents"
    }
  ],
  "bugs":[
    {
      "description":"Safari on iOS 10 and 11, and Safari 11 renders `display:contents` as `display:inline`. @supports will also report as true."
    },
    {
      "description":"Safari on Mac and iOS had bugs related to [toggling between display: none](https://bugs.webkit.org/show_bug.cgi?id=188259) and [::before/::after elements not filling their grid cell](https://bugs.webkit.org/show_bug.cgi?id=193567). These were fixed in version 13.4"
    }
  ],
  "categories":[
    "CSS"
  ],
  "stats":{
    "ie":{
      "5.5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n"
    },
    "edge":{
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "79":"a #1",
      "80":"a #1",
      "81":"a #1",
      "83":"a #1",
      "84":"a #1",
      "85":"a #1",
      "86":"a #1",
      "87":"a #1",
      "88":"a #1",
      "89":"a #2",
      "90":"a #2",
      "91":"a #2",
      "92":"a #2",
      "93":"a #2",
      "94":"a #2",
      "95":"a #2",
      "96":"a #2",
      "97":"a #2",
      "98":"a #2",
      "99":"a #2",
      "100":"a #2",
      "101":"a #2",
      "102":"a #2",
      "103":"a #2",
      "104":"a #2",
      "105":"a #2",
      "106":"a #2",
      "107":"a #2",
      "108":"a #2",
      "109":"a #2",
      "110":"a #2",
      "111":"a #2",
      "112":"a #2",
      "113":"a #2",
      "114":"a #2",
      "115":"a #2",
      "116":"a #2",
      "117":"a #2",
      "118":"a #2",
      "119":"a #2",
      "120":"a #2",
      "121":"a #2",
      "122":"a #2",
      "123":"a #2",
      "124":"a #2",
      "125":"a #2",
      "126":"a #2",
      "127":"a #2",
      "128":"a #2",
      "129":"a #2",
      "130":"a #2",
      "131":"a #2",
      "132":"a #2",
      "133":"a #2",
      "134":"a #2",
      "135":"a #2",
      "136":"a #2",
      "137":"a #2"
    },
    "firefox":{
      "2":"n",
      "3":"n",
      "3.5":"n",
      "3.6":"n",
      "4":"n",
      "5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n",
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"a #1",
      "38":"a #1",
      "39":"a #1",
      "40":"a #1",
      "41":"a #1",
      "42":"a #1",
      "43":"a #1",
      "44":"a #1",
      "45":"a #1",
      "46":"a #1",
      "47":"a #1",
      "48":"a #1",
      "49":"a #1",
      "50":"a #1",
      "51":"a #1",
      "52":"a #1",
      "53":"a #1",
      "54":"a #1",
      "55":"a #1",
      "56":"a #1",
      "57":"a #1",
      "58":"a #1",
      "59":"a #1",
      "60":"a #1",
      "61":"a #1",
      "62":"a #2",
      "63":"a #2",
      "64":"a #2",
      "65":"a #2",
      "66":"a #2",
      "67":"a #2",
      "68":"a #2",
      "69":"a #2",
      "70":"a #2",
      "71":"a #2",
      "72":"a #2",
      "73":"a #2",
      "74":"a #2",
      "75":"a #2",
      "76":"a #2",
      "77":"a #2",
      "78":"a #2",
      "79":"a #2",
      "80":"a #2",
      "81":"a #2",
      "82":"a #2",
      "83":"a #2",
      "84":"a #2",
      "85":"a #2",
      "86":"a #2",
      "87":"a #2",
      "88":"a #2",
      "89":"a #2",
      "90":"a #2",
      "91":"a #2",
      "92":"a #2",
      "93":"a #2",
      "94":"a #2",
      "95":"a #2",
      "96":"a #2",
      "97":"a #2",
      "98":"a #2",
      "99":"a #2",
      "100":"a #2",
      "101":"a #2",
      "102":"a #2",
      "103":"a #2",
      "104":"a #2",
      "105":"a #2",
      "106":"a #2",
      "107":"a #2",
      "108":"a #2",
      "109":"a #2",
      "110":"a #2",
      "111":"a #2",
      "112":"a #2",
      "113":"a #2",
      "114":"a #2",
      "115":"a #2",
      "116":"a #2",
      "117":"a #2",
      "118":"a #2",
      "119":"a #2",
      "120":"a #2",
      "121":"a #2",
      "122":"a #2",
      "123":"a #2",
      "124":"a #2",
      "125":"a #2",
      "126":"a #2",
      "127":"a #2",
      "128":"a #2",
      "129":"a #2",
      "130":"a #2",
      "131":"a #2",
      "132":"a #2",
      "133":"a #2",
      "134":"a #2",
      "135":"a #2",
      "136":"a #2",
      "137":"a #2",
      "138":"a #2",
      "139":"a #2",
      "140":"a #2",
      "141":"a #2",
      "142":"a #2"
    },
    "chrome":{
      "4":"n",
      "5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n",
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"n",
      "38":"n",
      "39":"n",
      "40":"n",
      "41":"n",
      "42":"n",
      "43":"n",
      "44":"n",
      "45":"n",
      "46":"n",
      "47":"n",
      "48":"n",
      "49":"n",
      "50":"n",
      "51":"n",
      "52":"n",
      "53":"n",
      "54":"n",
      "55":"n",
      "56":"n",
      "57":"n",
      "58":"n d #1",
      "59":"n d #1",
      "60":"n d #1",
      "61":"n d #1",
      "62":"n d #1",
      "63":"n d #1",
      "64":"n d #1",
      "65":"a #1",
      "66":"a #1",
      "67":"a #1",
      "68":"a #1",
      "69":"a #1",
      "70":"a #1",
      "71":"a #1",
      "72":"a #1",
      "73":"a #1",
      "74":"a #1",
      "75":"a #1",
      "76":"a #1",
      "77":"a #1",
      "78":"a #1",
      "79":"a #1",
      "80":"a #1",
      "81":"a #1",
      "83":"a #1",
      "84":"a #1",
      "85":"a #1",
      "86":"a #1",
      "87":"a #1",
      "88":"a #1",
      "89":"a #2",
      "90":"a #2",
      "91":"a #2",
      "92":"a #2",
      "93":"a #2",
      "94":"a #2",
      "95":"a #2",
      "96":"a #2",
      "97":"a #2",
      "98":"a #2",
      "99":"a #2",
      "100":"a #2",
      "101":"a #2",
      "102":"a #2",
      "103":"a #2",
      "104":"a #2",
      "105":"a #2",
      "106":"a #2",
      "107":"a #2",
      "108":"a #2",
      "109":"a #2",
      "110":"a #2",
      "111":"a #2",
      "112":"a #2",
      "113":"a #2",
      "114":"a #2",
      "115":"a #2",
      "116":"a #2",
      "117":"a #2",
      "118":"a #2",
      "119":"a #2",
      "120":"a #2",
      "121":"a #2",
      "122":"a #2",
      "123":"a #2",
      "124":"a #2",
      "125":"a #2",
      "126":"a #2",
      "127":"a #2",
      "128":"a #2",
      "129":"a #2",
      "130":"a #2",
      "131":"a #2",
      "132":"a #2",
      "133":"a #2",
      "134":"a #2",
      "135":"a #2",
      "136":"a #2",
      "137":"a #2",
      "138":"a #2",
      "139":"a #2",
      "140":"a #2"
    },
    "safari":{
      "3.1":"n",
      "3.2":"n",
      "4":"n",
      "5":"n",
      "5.1":"n",
      "6":"n",
      "6.1":"n",
      "7":"n",
      "7.1":"n",
      "8":"n",
      "9":"n",
      "9.1":"n",
      "10":"n",
      "10.1":"n",
      "11":"n",
      "11.1":"a #1",
      "12":"a #1",
      "12.1":"a #1",
      "13":"a #1",
      "13.1":"a #1",
      "14":"a #1",
      "14.1":"a #1",
      "15":"a #1",
      "15.1":"a #1",
      "15.2-15.3":"a #1",
      "15.4":"a #1",
      "15.5":"a #1",
      "15.6":"a #1",
      "16.0":"a #2 #3",
      "16.1":"a #2 #3",
      "16.2":"a #2 #3",
      "16.3":"a #2 #3",
      "16.4":"a #2 #3",
      "16.5":"a #2 #3",
      "16.6":"a #2 #3",
      "17.0":"a #2",
      "17.1":"a #2",
      "17.2":"a #2",
      "17.3":"a #2",
      "17.4":"a #2",
      "17.5":"a #2",
      "17.6":"a #2",
      "18.0":"a #2",
      "18.1":"a #2",
      "18.2":"a #2",
      "18.3":"a #2",
      "18.4":"a #2",
      "18.5":"a #2",
      "TP":"a #2"
    },
    "opera":{
      "9":"n",
      "9.5-9.6":"n",
      "10.0-10.1":"n",
      "10.5":"n",
      "10.6":"n",
      "11":"n",
      "11.1":"n",
      "11.5":"n",
      "11.6":"n",
      "12":"n",
      "12.1":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"n",
      "38":"n",
      "39":"n",
      "40":"n",
      "41":"n",
      "42":"n",
      "43":"n",
      "44":"n",
      "45":"n",
      "46":"n",
      "47":"n",
      "48":"n",
      "49":"n",
      "50":"n",
      "51":"n",
      "52":"a #1",
      "53":"a #1",
      "54":"a #1",
      "55":"a #1",
      "56":"a #1",
      "57":"a #1",
      "58":"a #1",
      "60":"a #1",
      "62":"a #1",
      "63":"a #1",
      "64":"a #1",
      "65":"a #1",
      "66":"a #1",
      "67":"a #1",
      "68":"a #1",
      "69":"a #1",
      "70":"a #1",
      "71":"a #1",
      "72":"a #1",
      "73":"a #1",
      "74":"a #1",
      "75":"a #1",
      "76":"a #2",
      "77":"a #2",
      "78":"a #2",
      "79":"a #2",
      "80":"a #2",
      "81":"a #2",
      "82":"a #2",
      "83":"a #2",
      "84":"a #2",
      "85":"a #2",
      "86":"a #2",
      "87":"a #2",
      "88":"a #2",
      "89":"a #2",
      "90":"a #2",
      "91":"a #2",
      "92":"a #2",
      "93":"a #2",
      "94":"a #2",
      "95":"a #2",
      "96":"a #2",
      "97":"a #2",
      "98":"a #2",
      "99":"a #2",
      "100":"a #2",
      "101":"a #2",
      "102":"a #2",
      "103":"a #2",
      "104":"a #2",
      "105":"a #2",
      "106":"a #2",
      "107":"a #2",
      "108":"a #2",
      "109":"a #2",
      "110":"a #2",
      "111":"a #2",
      "112":"a #2",
      "113":"a #2",
      "114":"a #2",
      "115":"a #2",
      "116":"a #2",
      "117":"a #2"
    },
    "ios_saf":{
      "3.2":"n",
      "4.0-4.1":"n",
      "4.2-4.3":"n",
      "5.0-5.1":"n",
      "6.0-6.1":"n",
      "7.0-7.1":"n",
      "8":"n",
      "8.1-8.4":"n",
      "9.0-9.2":"n",
      "9.3":"n",
      "10.0-10.2":"n",
      "10.3":"n",
      "11.0-11.2":"n",
      "11.3-11.4":"a #1",
      "12.0-12.1":"a #1",
      "12.2-12.5":"a #1",
      "13.0-13.1":"a #1",
      "13.2":"a #1",
      "13.3":"a #1",
      "13.4-13.7":"a #2",
      "14.0-14.4":"a #2",
      "14.5-14.8":"a #2",
      "15.0-15.1":"a #2",
      "15.2-15.3":"a #2",
      "15.4":"a #2",
      "15.5":"a #2",
      "15.6-15.8":"a #2",
      "16.0":"a #2 #3",
      "16.1":"a #3",
      "16.2":"a #3",
      "16.3":"a #3",
      "16.4":"a #3",
      "16.5":"a #3",
      "16.6-16.7":"a #3",
      "17.0":"y",
      "17.1":"y",
      "17.2":"y",
      "17.3":"y",
      "17.4":"y",
      "17.5":"y",
      "17.6-17.7":"y",
      "18.0":"y",
      "18.1":"y",
      "18.2":"y",
      "18.3":"y",
      "18.4":"y",
      "18.5":"y"
    },
    "op_mini":{
      "all":"n"
    },
    "android":{
      "2.1":"n",
      "2.2":"n",
      "2.3":"n",
      "3":"n",
      "4":"n",
      "4.1":"n",
      "4.2-4.3":"n",
      "4.4":"n",
      "4.4.3-4.4.4":"n",
      "137":"a #2"
    },
    "bb":{
      "7":"n",
      "10":"n"
    },
    "op_mob":{
      "10":"n",
      "11":"n",
      "11.1":"n",
      "11.5":"n",
      "12":"n",
      "12.1":"n",
      "80":"a #2"
    },
    "and_chr":{
      "137":"a #2"
    },
    "and_ff":{
      "139":"a #2"
    },
    "ie_mob":{
      "10":"n",
      "11":"n"
    },
    "and_uc":{
      "15.5":"a #1"
    },
    "samsung":{
      "4":"n",
      "5.0-5.4":"n",
      "6.2-6.4":"n",
      "7.2-7.4":"n",
      "8.2":"n",
      "9.2":"a #1",
      "10.1":"a #1",
      "11.1-11.2":"a #1",
      "12.0":"a #1",
      "13.0":"a #1",
      "14.0":"a #1",
      "15.0":"a #2",
      "16.0":"a #2",
      "17.0":"a #2",
      "18.0":"a #2",
      "19.0":"a #2",
      "20":"a #2",
      "21":"a #2",
      "22":"a #2",
      "23":"a #2",
      "24":"a #2",
      "25":"a #2",
      "26":"a #2",
      "27":"a #2",
      "28":"a #2"
    },
    "and_qq":{
      "14.9":"a #1"
    },
    "baidu":{
      "13.52":"a #2"
    },
    "kaios":{
      "2.5":"a #1",
      "3.0-3.1":"a #2"
    }
  },
  "notes":"",
  "notes_by_num":{
    "1":"Partial support refers to [severe implementation bugs](https://hiddedevries.nl/en/blog/2018-04-21-more-accessible-markup-with-display-contents) that renders content inaccessible for many element types.",
    "2":"Buttons are not accessible with `display: contents` applied. See issues for [Chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=1366037), [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1791648), and [WebKit](https://bugs.webkit.org/show_bug.cgi?id=255149)",
    "3":"HTML tables and nodes with ARIA roles `directory`, `grid`, `treegrid`, `table`, `row`, `gridcell`, `cell`, `columnheader`, `tree`, and `treeitem` are not accessible with `display: contents` applied. See WebKit bugs [239478](https://bugs.webkit.org/show_bug.cgi?id=239478), [239479](https://bugs.webkit.org/show_bug.cgi?id=239479), [239478](https://bugs.webkit.org/show_bug.cgi?id=239478), and [257458](https://bugs.webkit.org/show_bug.cgi?id=257458)"
  },
  "usage_perc_y":12.07,
  "usage_perc_a":83.34,
  "ucprefix":false,
  "parent":"",
  "keywords":"",
  "chrome_id":"5663606012116992",
  "shown":true
}
