Depending on platform and language, H3 headings may appear to be the same size as, or larger than, H2 headings. Because H3 headings are also bolded, this also causes them to appear more prominent than H2 headings on these systems.
In latin scripts, this is caused by the serif font stack for the H1 and H2 headers including several fonts with very inconsistent metrics, and also not accounting for the fact that there are multiple sans-serif sets of metrics these need to accommodate - in particular, Helvetica-like fonts (common) and Verdana-like fonts (default on some distributions of Linux), which are wider. Similar happens in others as well.
Compare a Linux using DejaVu sans, with Linux Libertine installed:
To Windows, using Arial and no Linux Libertine, thus falling back to Georgia:
The solution, thus, is to consolidate the fonts specified in @content-heading-font-family to use only fonts with consistent metrics to each other, and then scale them appropriately to account for the common variance in the sans-serifs, including the H3- headers.
Current stack: 'Linux Libertine', 'Georgia', 'Times', serif;
Suggested stack: 'Linux Libertine', 'Times New Roman', serif; possibly with Times also in there somewhere (I don't actually know because I don't have it because I'm not on a mac)
Basically, for comparison:
We like the small fonts because they basically match Linux Libertine (although Nimbus is pushing it), so if Times is somewhere between Nimbus and Libertine,, that's good too. Georgia, however, is much larger, and thus not something we should be including. I don't even know what's going on with Noto and DejaVu serif, though they are apparently possible 'serif' matches. Let's just hope everyone matches something before then.
To account for the fact that there are two sizes of sans-serifs, we must make the serif headers large enough to work with both - essentially, size them to the large fonts, DejaVu sans and Verdana. By doing this, they will still work with the smaller, helvetica-derivative fonts, but this is also why it is so important not to have larger serifs mixed in as well: when a large serif, sized for a small serif to work with a large sans-serif, shows up with a small sans-serif, the size difference can become very jarring indeed.
Related tasks
T71998: Vector: h3 should not appear as heavier weight than h2
T71999: MonoBook: h3 should not appear as heavier weight than h2
T72004: h4, h5, and h6 headers should not have the same styling
T73240: Re-evaluate serif font stack for headers