I found a unique issue when housing two forms on the same page. In my case, the top form is a single page form using ajax and the second form further down the page, is a multi-page form also using ajax. Both are different forms, different IDs.
If you start filling out the top form and get a validation error a new div is added to the form which is <div id="gf_form_focus" tabindex="-1"></div>
. If you then leave that form without completing it and start the second form, clicking on the next button will cause the page to jump up to the first form. I tested this with gform_confirmation_anchor both enabled and disabled with the same result.
I wrote a basic fix for this scenario using jQuery but I think it would be best to fix it within the plugin itself. The jQuery script checks for the existence of the #gf_form_focus div and removes it on the button click.
$(document).on('click','.gform_wrapper input[type="submit"], .gform_wrapper input[type="button"]',function(e) {
if( $('#gf_form_focus').length ) {
$('#gf_form_focus').remove();
}
});