[Interest] Crash in iOS 12 when Accessibility is ON

maitai maitai at virtual-winds.org
Fri Oct 26 15:47:01 CEST 2018


Hi,
Tried to put all I could think (tooltip, statustip, etc), no luck.
I will go the hard way, using a custom class derived from both QAction 
and QAccessible...

Philippe.

Le 26-10-2018 10:34, coroberti . a écrit :
> Hi Philippe,
> What I've seen recently on Windows,
> QAction is not supporting platform accessibility unlike QWidget 
> derivatives.
> 
> There are two paths to go there:
> 1. To make some derivative of QAction and implement QAccessible;
> 2. To make a custom menu from QWidget derivatives.
> 
> Prior to going there, try to set whatever text options in QAction you 
> have
> like text, toolTip, etc.
> 
> Kind regards,
> Robert Iakobashvili
> ............................
> On Fri, Oct 26, 2018 at 11:09 AM maitai <maitai at virtual-winds.org> 
> wrote:
>> 
>> Hi Robert,
>> Thanks for the support.
>> Backtrace is joined, as seen from xcode.
>> 
>> Philippe.
>> 
>> Le 26-10-2018 09:27, coroberti . a écrit :
>> > Hi Philippe,
>> > Just voted for it.
>> >
>> > If you run the app from debugger and trigger the menu's action to
>> > reproduce,
>> > which backtrace stack of functions you see there?
>> >
>> > Kind regards,
>> > Robert Iakobashvili
>> > ............................
>> > On Fri, Oct 26, 2018 at 10:01 AM maitai <maitai at virtual-winds.org>
>> > wrote:
>> >>
>> >> Hello,
>> >>
>> >> There has been already 2 bug reports for that (QTBUG-70909 and
>> >> QTBUG-70683), but it is not yet fixed and I am looking for a
>> >> workaround,
>> >> since lot of my users are complaining.
>> >>
>> >> To make a long story short, iOS 12 is crashing in UIAccessibility
>> >> _axuiElementForNotificationData when for instance Speak Screen is ON.
>> >> This is because Qt doesn't check that the list of Accessibility items
>> >> is
>> >> empty, as I understood.
>> >>
>> >> A workaround has been proposed, which consists in putting a non empty
>> >> title to the main window. That is indeed OK for a QML application, but
>> >> our app is still pure QWidget-based. Putting a title in MainWindow
>> >> duly
>> >> fixed the crash at startup, but now it only crashes later, whenever
>> >> the
>> >> user triggers a QAction from a QMenu. It crashes at the same place in
>> >> UIAccessibility.
>> >>
>> >> I have tried many things with no success, including:
>> >> - Add some setAccessibilityName etc in some relevant objects,
>> >> - In qappdelegate settings some flags supposed to ignore
>> >> Accessibility,
>> >> such as [aView setIsAccessibilityElement:NO]; and [aView
>> >> accessibilityElementsHidden:YES];
>> >> - I even tried to override some QIOS functions but did not succeed.
>> >>
>> >> Someone suggested to just add a dummy Accessibility item, so the list
>> >> won't be empty. I have no idea how to do that.
>> >>
>> >> I have of course tried 5.9.7 and 5.11.2, no luck.
>> >>
>> >> If someone has some advices or ideas...
>> >>
>> >> Thanks
>> >> Philippe Lelong
>> >> _______________________________________________
>> >> Interest mailing list
>> >> Interest at qt-project.org
>> >> http://lists.qt-project.org/mailman/listinfo/interest_______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list