Вы можете использовать overflow-y: auto;
. По умолчанию вертикальная полоса прокрутки будет скрыта, если содержимое не заполнено, а затем отобразить его, когда оно переполняет элемент, а содержимое не выходит наружу.
Если это то, что вы имеете в видупо "Mac OS по умолчанию полосы прокрутки скрыты"?
<div style="overflow-y: auto; height: 1000px">
<h1>Some content...</h1>
</div>
Пример: https://codepen.io/StudioKonKon/pen/pqovYP
(Примечание. В этом примере внесены некоторые изменения в код, чтобы показать только живой примерэто работает.)
var i = 0;
function add_more(node)
{
node.parentElement.innerHTML += [
"<h1>Some content ",
"#", ++i,
" ...</h1>"
].join("");
}
<div style="overflow-y: auto; height: 400px">
<h1>Some content...</h1>
<button onclick="add_more(this)">Add more content</button>
</div>