We already saw in the previous chapters that SVG is only supported by Internet Explorer 9 and higher versions. Providing a complete cross-browser compatibility for the previous versions of Internet Explorer is not impossible but challenging. Theoretically, you can use a wrapper (for example,
Raphael.js) to convert D3's output into the valid VML; however, this is tricky, difficult, and not a good solution performance wise. In this case, it would be even better to not use D3 at all for this problem as it will not give you additional benefits.
Whenever we spoke about SVG support, we were speaking about the basic SVG support and hence the SVG 1.1 specification. However, there are more interesting features that you can use in your application, where some of them have a different compatibility. Let's look at these features.