The default Tabs component outputs incredibly clean and effective code:
<div class="w-tab-content">
<div class="w-tab-pane" data-w-tab="Tab 1">
<h2>This is the first H2.</h2>
</div>
<div class="w-tab-pane" data-w-tab="Tab 2">
<h2>This is the second H2.</h2>
</div>
<div class="w-tab-pane" data-w-tab="Tab 3">
<h2>This is the third H2.</h2>
Unless you have specific settings preventing search engines from crawling this content, the H2s should be detected just fine.
Browseo, for instance, detects all three H2s in the published site:
Screaming Frog has the ability to check JS / not check JS.
When I do not check JS… I get 1 H2.
With JS check enabled… I get 8 H2’s… (which is how many I have)
Screaming Frog says
Miscounting the number of H2s is usually down to invalid HTML throwing the parser off or content rendered in JavaScript which would need to have JS crawling enabled.