dataset & data-* attributes

- LS

Method of applying and accessing custom data to elements.

Chrome

  1. 4 - 6: Partial support
  2. 7 - 44: Supported
  3. 45 - 54: Supported
  4. 55 - 107: Supported
  5. 108: Supported
  6. 109 - 111: Supported

Edge

  1. 12 - 16: Supported
  2. 17 - 106: Supported
  3. 107: Supported

Safari

  1. 3.1 - 5: Partial support
  2. 5.1 - 16.0: Supported
  3. 16.1: Supported
  4. 16.2 - TP: Supported

Firefox

  1. 2 - 5: Partial support
  2. 6 - 50: Supported
  3. 51 - 106: Supported
  4. 107: Supported
  5. 108 - 109: Supported

Opera

  1. 9 - 11: Partial support
  2. 11.1 - 12.1: Supported
  3. 15 - 31: Supported
  4. 32 - 41: Supported
  5. 42 - 91: Supported
  6. 92: Supported

IE

  1. 5.5 - 10: Partial support
  2. 11: Supported

Chrome for Android

  1. 107: Supported

Safari on iOS

  1. 3.2 - 4.3: Partial support
  2. 5 - 16.0: Supported
  3. 16.1: Supported

Samsung Internet

  1. 4 - 18.0: Supported
  2. 19.0: Supported

Opera Mini

  1. all: Partial support

Opera Mobile

  1. 10 - 11: Partial support
  2. 11.1 - 12.1: Supported
  3. 72: Supported

UC Browser for Android

  1. 13.4: Supported

Android Browser

  1. 2.1 - 2.3: Partial support
  2. 3 - 4.4.4: Supported
  3. 107: Supported

Firefox for Android

  1. 106: Supported

QQ Browser

  1. 13.1: Supported

Baidu Browser

  1. 13.18: Supported

KaiOS Browser

  1. 2.5: Supported

Partial support refers to being able to use data-* attributes and access them using getAttribute.

"Supported" refers to accessing the values using the dataset property. Current spec only refers to support on HTML elements, only some browsers also have support for SVG/MathML elements.

Resources:
MDN Web Docs - dataset
MDN Guide - Using data-* attributes
Demo using dataset
HTML5 Doctor article
has.js test
WebPlatform Docs