- Layout is performed efficiently. Native text elements are laid out immediately without “flashing”, and you can put several hundreds of such in a page without waiting several seconds for rendering completes. It isn’t contingent upon first downloading scripts or bundles, and then parsing and executing them - the web engine runs binary code (optimized by the compiler) allowing fast execution.
- It has good visual quality. Text is drawn using an outline font that scales well whatever the font-size or zoom level. Advanced techniques such as font hinting, antialiasing or subpixel rendering are also used for rendering the text. Web engines also have features for box layout e.g. internally handling coordinates and sizes as integers rather than floats to avoid rounding errors with fractional pixels.
- Visual rendering is fully controlled by font and styling. As long as the specification is accurate enough then for a given configuration, the text should render the same in all web engines.
- Content works well with your browser UI: You can zoom in to make it bigger, or zoom out out to make it smaller without loosing rendering quality. You can select and copy part of the text, you can use the “find” menu to search some text, you can change your font or CSS configuration and have it applied, you can use keyboard or caret navigation, handle hyperlinks with the usual UI, etc
- The information is properly exposed to assistive technologies. Although the markup provides a visual rendering, web engines also expose an accessible tree with the essential information for assistive technologies.
Existing non-native alternatives for mathematical rendering only partially fullfill these expectations and provide some non-standard hacks to work around missing features. If, as we believe, mathematical rendering is important then it should be treated as any other human language and be rendered natively by web engines!