Ну, здесь происходит пара вещей.
Во-первых, хотя было бы неплохо, чтобы программы чтения с экрана вели себя одинаково и вели себя одинаково, мой опыт показывает, что это больше похоже на войны браузеров, поэтому использование role = "main" будет по-разному для разные читатели и не обязательно все, что полезно для вас.
Кстати, вы правы - со стороны какого-либо атрибута роли нет признания в отношении того, когда заканчивается контент, и это тот случай, когда все, кого я видел, поддерживают ARIA до сих пор (и есть только мало).
Итак, наконец, мой совет - я думаю, вы должны использовать другую роль. Роль региона гораздо более общая, но все же поможет пользователю определить, где находится важный контент. С другой стороны, если вы хотите сделать его действительно универсальным и использовать его для чтения с нескольких экранов, отбросьте концепцию ролей и добавьте скрытый тег заголовка h2, который говорит, что вы хотите назвать. Хотя это и не модно, но гарантированно сработает, и никто в сообществе a11y вообще не станет об этом кричать.
Итак, используйте общую роль, такую как регион, чтобы пометить ее, или, что еще лучше, полностью отбросьте идею роли и вернитесь к стандартному тегу h2 для равномерной совместимости.