Today, Flutter only builds the semantic tree if an a11y service is enabled*. This results in a performance gain, since the semantics tree is non-trivial to build and process, and we want to avoid spending that time if there are no consumers.
This has a serious downside: many developers build and test apps without ever enabling an a11y service, and thus miss semantics bugs (whether in the framework, a package, or their own code) that they could have learned from via asserts.
I'm proposing forcing the Semantics tree construction and upload to be enabled in debug mode to help developers catch these issues earlier. This may result in performance degradation in debug mode, and may result in asserts being thrown for a11y reasons even though those services are disabled. The upside is that it will help catch such issues before your app goes to production and an a11y user finds the app crashing.