[Interest] Crash in iOS 12 when Accessibility is ON

coroberti . coroberti at gmail.com
Fri Oct 26 16:09:03 CEST 2018


Hi Philippe,
On windows, I've made a custom menu based on QWidgets.

On iOS, I've integrated native Popovers with UITableViewController
inside to serve as menus.
It adds more native look and feel.

Take care.

Kind regards,
Robert Iakobashvili
............................
On Fri, Oct 26, 2018 at 4:47 PM maitai <maitai at virtual-winds.org> wrote:
>
> 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
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list