xamarin/Xamarin.Forms

`Focus` is not consistent on all platforms

开放

#5,616 创建于 2019年3月19日

 (2 条评论) (0 个反应) (0 位负责人)C# (1,926 个派生)batch import
e/7 :clock7:help wantedi/highinactivem/high impact :black_large_square:p/Androidp/iOS 🍎partner/cat 😻t/bug :bug:up-for-grabs

仓库指标

星标
 (5,644 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Description

This is a larger issue that requires some discussion. The basic summary is this:

All Xamarin.Forms controls are VisualElements, which contains a basic set of properties and events that should work on any VisualElement.

However, the Focus method is not functional on many mobile controls (e.g., Button, WebView) because there is no native option to put focus on such native objects.

Problems:

  1. For many reasons, a11y included, customers would like to put the focus on a Button (or other element) programmatically, and they are currently unable to do so on mobile platforms. Can we do this somehow?

  2. If the answer is No, then should we obsolete the Focus method from VisualElement and move it to a Focusable interface that we can then apply only to elements that are able to be focused? What do we do when that is platform specific?

  3. Moreover, the Focus method is supposed to return a bool value that indicates whether the platform was able to successfully focus the element; in the case of Button, this is erroneously returning true.

贡献者指南