Mikael Sand
Mikael Sand
This seems to work: ```jsx const isWeb = Platform.OS === 'web'; const keys = Object.keys(SvgTouchableMixin); const touchKeys = isWeb ? keys.filter(key => key !== 'componentDidMount') : keys; ```
Seems related to this._isTouchableKeyboardActive in Touchable Mixin Edit: sloppy reasoning
Actually, deciding factor seems to be: this._touchableNode.addEventListener('blur', this._touchableBlurListener); https://github.com/necolas/react-native-web/blob/1ad16930391303da511c98879fa7b2002b28c822/packages/react-native-web/src/exports/Touchable/index.js#L381
Not sure how the presence / absence of a blur handler decides if a svg element can become the active element or not.
I see https://svgwg.org/svg2-draft/interact.html#Focus > User agents may treat other elements as focusable, particularly if keyboard interaction is the only or primary means of user input. In particular, user agents may...
@necolas Is this behaviour intentional? Is the blur event handler partially there to make some svg elements focusable? What are the cases in which they should be focusable and not?...
@necolas Sorry to ping you twice like this. Feel free to instruct me not to ping you and I won't cause any further interruptions. Was suspecting it went past your...
@zoontek What do you think of this implementation?
Yeah, this certainly isn't very clean, but the closest api to the react-native implementation and most react-native-web compatible I can think of at the moment. I'd love to see a...
I think the mixin should be run on the prototype once rather than on each instance object as well. Only the event listeners need to be attached, and the state...