"Results first, details after": call kit_scroll_to("status") at the end of the primary
button's observeEvent(). It scrolls only after this round's outputs have all reached the
browser (session$onFlushed()), so the status box is already rendered.
When the user has set "reduce motion", it jumps there without smooth scrolling.
Usage
kit_scroll_to(id, session = shiny::getDefaultReactiveDomain())Examples
if (interactive()) {
shiny::observeEvent(input$run, {
# …run…
kit_scroll_to("status")
})
}