CubaTrees in FoldersPane Not Keyboard Accessible

When I attempt to expand/contract/open folders via keyboard navigation, nothing happens. In Developer Tools, I see this error in the console:

Wed Feb 07 12:42:31 GMT-500 2018 com.vaadin.client.ApplicationConfiguration
SEVERE: Exception caught: (TypeError) : Unable to get property 'ec' of undefined or null reference
com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) : Unable to get property 'ec' of undefined or null reference
	at Unknown.Ob(Unknown script code)
	at Unknown.Dh(Unknown script code)
	at Unknown.cy(Unknown script code)
	at Unknown.ey(Unknown script code)
	at Unknown.Dx(Unknown script code)
	at Unknown.OHb(Unknown script code)
	at Unknown.YHb(Unknown script code)
	at Unknown.wu(Unknown script code)
	at Unknown.QHb(Unknown script code)
	at Unknown.qed(Unknown script code)
	at Unknown.dfd(Unknown script code)
	at Unknown.VRb(Unknown script code)
	at Unknown.iUb(Unknown script code)
	at Unknown.Si(Unknown script code)
	at Unknown.Vi(Unknown script code)
	at Unknown.anonymous(Unknown script code)
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) : Unable to get property 'ec' of undefined or null

As mentioned in 508 and accessibility - CUBA.Platform, which was posted by a coworker, I must implement accessibility standards in my CUBA web application. The Vaadin Tree component that the CubaTree is based on is navigable via the keyboard… any ideas how I can correct the CUBA component to regain this functionality in my application?

Hi,

Which version of CUBA Platform do you use?

Hi Gleb,
I’m using platform-6.6.4.

Hi,

Unfortunately, we cannot reproduce the problem. We will be able to help you if you send us a small sample project.

Hi Gleb,
It was quite easy for me to reproduce in a new project. I just created a Main Window and set cuba.web.foldersPaneEnabled to true in order to activate the FoldersPane. Then I went to the OOB User Browser screen and created a couple of nested Search folders. When I tab to the search folder and press a key, I see similar error to the one I provided in my original post, with the property changing depending on which key I press (e.g. space bar results in “Unable to get property ‘p’ of undefined or null reference”).

Unfortunately, I am unable to upload my project here, I keep getting errors. Please provide an alternative means to share my project.

What kind of errors do you get? Anyway, you can share the project either using some could drive (for instance, Google Drive) or creating a GitHub repository.

Hi Gleb,
I don’t have a github or google drive account, and I don’t want to create one just for this purpose. Seems like you should provide the ability to share files, since you’re requiring that I do so in order to receive support. It only took me ~30 minutes to reproduce the issue this morning and the only “customization” it required was creating a Main Window and enabling the folders pane, so uploading a project really shouldn’t be necessary anyway.

As far as the error I’m getting when uploading files, it’s as follows (IE):

SCRIPT438: Object doesn't support property or method 'join'
_application-d9adce7ba27d9b93000617e74ac9b1b05d059ce1a42e8fe8c82e11c562bf9ea1.js (5563,11)

Chrome is much more verbose:

Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
_application-d9adce7ba27d9b93000617e74ac9b1b05d059ce1a42e8fe8c82e11c562bf9ea1.js:5561 

Uncaught TypeError: e.jqXHR.responseJSON.join is not a function
        at z (https://www.cuba-platform.com/discuss/assets/application-d9adce7ba27d9b93000617e74ac9b1b05d059ce1a42e8fe8c82e11c562bf9ea1.js:5:2901)
        at HTMLDivElement.<anonymous> (https://www.cuba-platform.com/discuss/assets/application-d9adce7ba27d9b93000617e74ac9b1b05d059ce1a42e8fe8c82e11c562bf9ea1.js:21:24461)
        at HTMLDivElement.dispatch (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:2:16618)
        at HTMLDivElement.v.handle (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:2:14683)
        at Object.trigger (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:3:6733)
        at HTMLDivElement.<anonymous> (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:3:7297)
        at Function.each (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:1:14733)
        at ie.fn.init.each (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:1:12783)
        at ie.fn.init.trigger (https://www.cuba-platform.com/discuss/assets/ember_jquery-a8dcbd325e04410f036f2a791d66d8316c48c5387acdd914de99a5dd6afb3cd3.js:3:7272)
        at e.(anonymous function).(anonymous function)._trigger (https://www.cuba-platform.com/discuss/assets/vendor-ffcc65ba536d3019a3ee65815e47dfe9214ce60945ce7768ffbfa9e4259d986b.js:1:25582)

Hi Amanda,

It only takes a few minutes to register with a sharing service of your choice - can be google drive, dropbox or anything else. Reproducing your issue will take much longer even if it is 30 minutes. We are always trying to help, but remember this is a free forum and we request some help from your side as well.

Regards,
Gleb

I guess if uploading an entire project is required, then it would be nice if I could do that without relying on outside applications/websites… I see in other threads where individual files was enough, so I’m attaching the relevant files. All except web-app.properties, which is not allowed by your upload field. Again, all I did in that file was set cuba.web.foldersPaneEnabled to true. As you can see, it’s a basic main window with absolutely no changes. I didn’t create any entities in my project or customize anything other than having Studio generate a Main Window from the template and then turning on the folders pane.

web-screens.xml (305 Bytes)
ExtAppMainWindow.java (160 Bytes)
ext-mainwindow.xml (396 Bytes)

Please see GitHub - cuba-dev-ardx/cuba-folder-test

Thank you for the sample project. I’ve created two YouTrack issues. PL-10381, PL-10382.