On https://github.com/mozilla/pdf.js/wiki/Required-Browser-Features we mention required browser features for PDF.js, but I have the feeling that not all of them are necessary nowadays since we moved to using more modern features over the years. Moreover, as indicated in https://github.com/mozilla/pdf.js/issues/11950#issuecomment-637149085, some features may be missing such as range requests or `async/await`.

In short, we should verify which are still necessary and update the wiki page and the automated feature detection if possible.
var ctx = canvas.getContext('2d');
      ctx.moveTo(0,5);
      ctx.lineTo(50, 5);
      ctx.lineWidth = 10;
      if ('setLineDash' in ctx) {
        ctx.setLineDash([10, 10]);
        ctx.lineDashOffset = 0;
      }
      ctx.stroke();
      var data = ctx.getImageData(0, 0, 50, 50).data;
      var isDashed = data[5 * 4 + 5 * 200 + 3] != 0 &&
                     data[15 * 4 + 5 * 200 + 3] == 0;
      if (isDashed)
        return { output: 'Success', emulated: '' };
      else
        return { output: 'Failed', emulated: 'No' };
    },
    impact: 'Important',
    area: 'Core'
  },
  {
    id: 'font-face',
    name: '@font-face is supported/enabled',
    run: function () {
      if (!isCanvasSupported)
        return { output: 'Skipped', emulated: '' };
      var promise = new Promise();
      setTimeout(function() {
        if (checkCanvas('plus'))
          promise.resolve({ output: 'Success', emulated: '' });