if you navigate through the listview items, the parents aria-activedescendant is never updated. Just the elements get an updated ID attribute. This is a wrong behaviour. Every item needs an ID and the aria-activedescendant needs to be updated.
„When the composite widget contains focus and the user
presses a navigation key that moves focus within the widget, such as an arrow
key: Change the value of aria-activedescendant on the container to refer to the
element that should be reported to assistive technologies as active“ (http://www.w3.org/TR/wai-aria-practices-1.1/#kbd_focus_activedescendant).
I would also prefer to get an updated aria-selected on navigate and not on "mark" an item. You should test the widgets with a screenreader like JAWS. When I navigate through the listview, the screenreader is not triggered, so it is impossible for a person who relies on a screenreader to control this widget.