Repository navigation
Sliders in a page: a range is a slider, and two-thumb sliders work (CHALLENGES 319–320) - #211
Merged
Merged
Conversation
…n (CHALLENGES 319) map printed MobiumApp's <input type="range"> as "50 (input)", named by its value, and app_fill typed into it: fill 0.2, the position every native slider takes, was clamped to a step and failed as "the page rewrote or refused the value". A range is now a slider: map names it by its label and reads its value as its state, app_fill takes a position from 0 to 1 and sets the value from the page's own min, max and step — so it lands exactly, where a native iOS slider cannot (219) — and app_type is refused naming app_fill. From the native side, Android's WebView draws the range as a SeekBar whose text is its label and which reports no progress; it was mapped as "SeekBar" valued by its label. A seek bar inside a WebView keeps its text as its name, and app_fill on it goes through the page. docs/checks/slider-ios.sh asserts every kind of slider on MobiumApp's Slider Demo on iOS (318, 234, 319): 3 of 3 on the simulator, failing at the range with main's binary. slider.sh gains the web range on Android and a wait for the screen it maps, a race that had passed by timing (233): 3 of 3 on the emulator.
…eys, a range focused before it moves (CHALLENGES 320) On MobiumApp's Slider Demo, Hours — two role="slider" thumbs on a drawn track — was not in map: the page's element list had no [role=slider]. And Price — two ranges on one track — moved the minimum when the maximum was filled below it, reporting the maximum landed: the page gives way by which thumb has focus, and the fill never focused one. A range is now focused before it moves, and a crossing fails as not_confirmed. An ARIA slider maps by its label with aria-valuetext or aria-valuenow as its value, and app_fill takes a position of aria-valuemin to aria-valuemax and moves it with its arrow keys, reading aria-valuenow back after each; stopped by the page short of the value, it says so, and one whose keys move nothing is refused naming a drag. slider-ios.sh and slider.sh assert both: 3 of 3 on the simulator and the emulator, failing at the ARIA sliders with the binary before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Needs mobiumdev/mobium-app#28 (merged) for the Slider Demo's new rows.
CHALLENGES 319 — a web
<input type="range">is a slider.mapprinted one as50 (input)andapp_filltyped into it (fill 0.2was clamped and blamed on the page). Now it maps by its label as(slider, 50),app_filltakes a position from 0 to 1 — the one rule for every slider — set from the page's own min, max and step so it lands exactly, andapp_typeis refused namingapp_fill. From the native side, Android's WebView draws it as a seek bar whose text is its label and which reports no progress; it was mapped asSeekBarvalued by its label, and now keeps its label as its name and is filled through the page.CHALLENGES 320 — two-thumb sliders as pages build them. Two ARIA sliders were not in
mapat all; now they map by label witharia-valuetext/aria-valuenow, andapp_fillmoves one to a position with its arrow keys, reading the value back after each. Two overlaid ranges: filling the maximum below the minimum moved the minimum and reported success, because the page gives way by focus and the fill never focused a thumb; a range is now focused first, and a crossing fails asnot_confirmed, as a thumb the page stops does.docs/checks/slider-ios.sh(new) asserts every kind on iOS — plain view refused naming a drag (318), adjustable refused naming a drag (234), web range, Price and Hours — 3 of 3 on the iPhone 17 Pro simulator, failing at the range before 319 and at the ARIA sliders before 320.slider.shgains the web rows and a wait for the screen it maps (a race that passed by timing): 3 of 3 on the Android 15 emulator. Unit tests for each answer;make cigreen.