Why is HTML5 said to have cross-platform features, but HTML4 cannot be cross-platform?

The advantage of HTML5 is that it encourages some cross-platform solutions.

For example, Microsoft's IE has filters to deform images. The filters also support some commands based on semantics, and also support the use of DirectX-compatible COM controls to process images. However, neither DirectX nor COM is cross-platform, so this set of APIs cannot have a clean cross-platform implementation.

One of the hot spots of HTML5, canvas, is a similar function provided by the old IE, called vml, but it is based on a set of Microsoft proprietary codes, and at least other browsers have no intention of supporting it.

In the past, there was no video tag in the HTML4 era. Flash or the ActiveX control of Windows Media Player was used to insert videos. ActiveX is not cross-platform, and Flash's attempts to enter the mobile platform have still had limited success after many years. Therefore, even if this was not an urgent need in the past, it seems that Flash is not a cross-platform solution now.

In fact, many cross-platform requirements do not mean that it is impossible, but that browser implementers are afraid that the input-output ratio is unreasonable, or that they are kidnapped by existing implementations/patents. For example, WebSQL, even if sqlite is a set of public domain code, the Mozilla Foundation and Microsoft are worried that the future development of this project will cause the content of the web to be affected by sqlite, so this WebSQL plan was shelved.